Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-06-27 Thread Pacho Ramos
Another try that finally fixes pending problems
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.16 
2013/04/07 17:02:52 mgorny Exp $

# @ECLASS: gnome-games
# @MAINTAINER:
# Gnome team gn...@gentoo.org
# @AUTHOR:
# Author: Pacho Ramos pa...@gentoo.org
# @BLURB: An eclass to build gnome-games.
# @DESCRIPTION:
# An eclass to build gnome-games using proper phases from gnome2 and
# games eclasses.

case ${EAPI:-0} in
0|1)
die Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}
;;
2|3|4|5)
;;
*)
die Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}
;;
esac

inherit autotools games gnome2

EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install 
pkg_preinst pkg_postinst pkg_postrm

if [[ ! ${_GNOME_GAMES} ]]; then

DEPEND==dev-util/intltool-0.50.2-r1
RDEPEND=!gnome-extra/gnome-games

# @FUNCTION: gnome-games_pkg_setup
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_setup() {
debug-print-function ${FUNCNAME} ${@}
games_pkg_setup
}

# @FUNCTION: gnome-games_src_prepare
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_prepare() {
debug-print-function ${FUNCNAME} ${@}

# Fix intltoolize broken file:
# https://bugs.launchpad.net/intltool/+bug/398571
intltoolize --force --copy --automake || die intltoolize failed
eautoreconf

gnome2_src_prepare
}

# @FUNCTION: gnome-games_src_configure
# @DESCRIPTION:
# Set proper phase defaults, relying on gnome2_src_configure
# and passing extra arguments from egamesconf (games.eclass)
gnome-games_src_configure() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_configure \
--prefix=${GAMES_PREFIX} \
--libdir=$(games_get_libdir) \
--sysconfdir=${GAMES_SYSCONFDIR} \
--localstatedir=/var \
--localedir=/usr/share/locale \
$@
}

# @FUNCTION: gnome-games_src_compile
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_compile() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_compile
}

# @FUNCTION: gnome-games_src_install
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_install() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_install
prepgamesdirs
}

# @FUNCTION: gnome-games_pkg_preinst
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_preinst() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_preinst
games_pkg_preinst
}

# @FUNCTION: gnome-games_pkg_preinst
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_postinst() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_postinst
games_pkg_postinst
}

# @FUNCTION: gnome-games_pkg_postrm
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_postrm() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_postrm
}

_GNOME_GAMES=1
fi
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5
GCONF_DEBUG=no

inherit gnome-games

DESCRIPTION=Five or More Game for GNOME
HOMEPAGE=https://live.gnome.org/Five%20or%20more;

LICENSE=GPL-2+
SLOT=0
KEYWORDS=~amd64
IUSE=

RDEPEND=
dev-libs/glib:2
=gnome-base/librsvg-2.32.0
=x11-libs/gtk+-3.4.0:3

DEPEND=${RDEPEND}
=dev-util/intltool-0.35.0
dev-util/itstool
virtual/pkgconfig



Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-06-27 Thread hasufell
On 06/27/2013 10:25 PM, Pacho Ramos wrote:
 Another try that finally fixes pending problems
 

 --localstatedir=/var \

is there a problem with

--localstatedir=${GAMES_STATEDIR} \


 gnome-games_src_prepare() {

I find it very strange that you run intltoolize and eautoreconf
unconditionally in an eclass.



Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-06-27 Thread Pacho Ramos
El jue, 27-06-2013 a las 22:38 +0200, hasufell escribió:
 On 06/27/2013 10:25 PM, Pacho Ramos wrote:
  Another try that finally fixes pending problems
  
 
  --localstatedir=/var \
 
 is there a problem with
 
 --localstatedir=${GAMES_STATEDIR} \
 

Yes, it ends up being /var/games/games because all gnome-games consumers
already append games by default

  gnome-games_src_prepare() {
 
 I find it very strange that you run intltoolize and eautoreconf
 unconditionally in an eclass.
 
 

The same - Until a new intltool version is released, all consumers of
this eclass will need it to get proper localedir being respected




[gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread Pacho Ramos
gnome-games was splitted in separate packages per game and, then, we
need an eclass to also set proper settings inherited from gnome2 and
games eclasses. This should also solve:
https://bugs.gentoo.org/show_bug.cgi?id=432848

eclass and ebuild (games-puzzle/five-or-more) to try attached
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.16 
2013/04/07 17:02:52 mgorny Exp $

# @ECLASS: gnome-games
# @MAINTAINER:
# Gnome team gn...@gentoo.org
# @AUTHOR:
# Author: Pacho Ramos pa...@gentoo.org
# @BLURB: An eclass to build gnome-games.
# @DESCRIPTION:
# An eclass to build gnome-games using proper phases from gnome2 and
# games eclasses.

case ${EAPI:-0} in
0|1)
die Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}
;;
2|3|4|5)
;;
*)
die Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}
;;
esac

inherit games gnome2

EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install 
pkg_preinst pkg_postinst pkg_postrm

if [[ ! ${_GNOME_GAMES} ]]; then

RDEPEND=!gnome-extra/gnome-games

# @FUNCTION: gnome-games_pkg_setup
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_setup() {
debug-print-function ${FUNCNAME} ${@}
games_pkg_setup
}

# @FUNCTION: gnome-games_src_prepare
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_prepare() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_prepare
}

# @FUNCTION: gnome-games_src_configure
# @DESCRIPTION:
# Set proper phase defaults, relying on gnome2_src_configure
# and passing extra arguments from egamesconf (games.eclass)
gnome-games_src_configure() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_configure \
--bindir=${GAMES_BINDIR} \
--libdir=$(games_get_libdir) \
--sysconfdir=${GAMES_SYSCONFDIR} \
--localstatedir=${GAMES_STATEDIR} \
$@
# GAMES_DATADIR causes games to fail to run due schemas and other
# files getting installed in unexpected places
# --datadir=${GAMES_DATADIR}
#
# We need to not set GAMES_PREFIX to get translations working
# --localedir=${EPREFIX}/usr/share/locale is not enough
# --prefix=${GAMES_PREFIX} - setting bindir instead
}

# @FUNCTION: gnome-games_src_compile
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_compile() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_compile
}

# @FUNCTION: gnome-games_src_install
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_install() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_install
}

# @FUNCTION: gnome-games_pkg_preinst
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_preinst() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_preinst
games_pkg_preinst
}

# @FUNCTION: gnome-games_pkg_preinst
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_postinst() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_postinst
games_pkg_postinst
}

# @FUNCTION: gnome-games_pkg_postrm
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_postrm() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_postrm
}

_GNOME_GAMES=1
fi
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5
GCONF_DEBUG=no

inherit gnome-games

DESCRIPTION=Five or More Game for GNOME
HOMEPAGE=https://live.gnome.org/Five%20or%20more;

LICENSE=GPL-2+
SLOT=0
KEYWORDS=~amd64
IUSE=

RDEPEND=
dev-libs/glib:2
=gnome-base/librsvg-2.32.0
=x11-libs/gtk+-3.4.0:3

DEPEND=${RDEPEND}
=dev-util/intltool-0.35.0
dev-util/itstool
virtual/pkgconfig



Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread hasufell
On 05/02/2013 12:41 PM, Pacho Ramos wrote:
 gnome-games was splitted in separate packages per game and, then, we
 need an eclass to also set proper settings inherited from gnome2 and
 games eclasses. This should also solve:
 https://bugs.gentoo.org/show_bug.cgi?id=432848
 
 eclass and ebuild (games-puzzle/five-or-more) to try attached
 

This does not honour GAMES_DATADIR afais.

prepgamesdirs is missing completely too.

So those games will not be compliant with the games.eclass standard.



Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread Pacho Ramos
El jue, 02-05-2013 a las 14:34 +0200, hasufell escribió:
 On 05/02/2013 12:41 PM, Pacho Ramos wrote:
  gnome-games was splitted in separate packages per game and, then, we
  need an eclass to also set proper settings inherited from gnome2 and
  games eclasses. This should also solve:
  https://bugs.gentoo.org/show_bug.cgi?id=432848
  
  eclass and ebuild (games-puzzle/five-or-more) to try attached
  
 
 This does not honour GAMES_DATADIR afais.

They cannot honor it since installing all stuff under /usr/share/games
will lead to them even failing to start (I tried it before).

 
 prepgamesdirs is missing completely too.
 
 So those games will not be compliant with the games.eclass standard.
 

In games.eclass I see you have prepgamesdirs but don't call it on any
exported phase from games.eclass :-/, how are other games calling it?




Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread hasufell
On 05/02/2013 03:40 PM, Pacho Ramos wrote:
 El jue, 02-05-2013 a las 14:34 +0200, hasufell escribió:
 On 05/02/2013 12:41 PM, Pacho Ramos wrote:
 gnome-games was splitted in separate packages per game and, then, we
 need an eclass to also set proper settings inherited from gnome2 and
 games eclasses. This should also solve:
 https://bugs.gentoo.org/show_bug.cgi?id=432848

 eclass and ebuild (games-puzzle/five-or-more) to try attached


 This does not honour GAMES_DATADIR afais.
 
 They cannot honor it since installing all stuff under /usr/share/games
 will lead to them even failing to start (I tried it before).
 

Why?

It's a common problem that people hardcode data dir destination in their
source files, assuming that people only want to install into /usr/share.
That is simply a bug and needs to be fixed in the package (it also means
it will probably fail for /usr/local and many other usecases, so this is
not even a gentoo specific bug).

You cannot fix that on eclass level and it is not a reason to drop
supporting GAMES_DATADIR variable. That is inconsistent and does not
make sense. You would even get mixed permissions unless you fix that up too.


 prepgamesdirs is missing completely too.

 So those games will not be compliant with the games.eclass standard.

 
 In games.eclass I see you have prepgamesdirs but don't call it on any
 exported phase from games.eclass :-/, how are other games calling it?
 
 

You call it explicitly.



Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread Pacho Ramos
El jue, 02-05-2013 a las 15:54 +0200, hasufell escribió:
 On 05/02/2013 03:40 PM, Pacho Ramos wrote:
  El jue, 02-05-2013 a las 14:34 +0200, hasufell escribió:
  On 05/02/2013 12:41 PM, Pacho Ramos wrote:
  gnome-games was splitted in separate packages per game and, then, we
  need an eclass to also set proper settings inherited from gnome2 and
  games eclasses. This should also solve:
  https://bugs.gentoo.org/show_bug.cgi?id=432848
 
  eclass and ebuild (games-puzzle/five-or-more) to try attached
 
 
  This does not honour GAMES_DATADIR afais.
  
  They cannot honor it since installing all stuff under /usr/share/games
  will lead to them even failing to start (I tried it before).
  
 
 Why?
 
 It's a common problem that people hardcode data dir destination in their
 source files, assuming that people only want to install into /usr/share.
 That is simply a bug and needs to be fixed in the package (it also means
 it will probably fail for /usr/local and many other usecases, so this is
 not even a gentoo specific bug).
 
 You cannot fix that on eclass level and it is not a reason to drop
 supporting GAMES_DATADIR variable. That is inconsistent and does not
 make sense. You would even get mixed permissions unless you fix that up too.
 

I don't understand why games team makes all this prefix work, isn't
changing permissions of installed files enough?

I doubt if upstream will be ok with installing
schemas/translations/gtk-doc stuff under this prefix :/

 
  prepgamesdirs is missing completely too.
 
  So those games will not be compliant with the games.eclass standard.
 
  
  In games.eclass I see you have prepgamesdirs but don't call it on any
  exported phase from games.eclass :-/, how are other games calling it?
  
  
 
 You call it explicitly.
 

In src_install, no?




Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread hasufell
On 05/02/2013 05:12 PM, Pacho Ramos wrote:
 El jue, 02-05-2013 a las 15:54 +0200, hasufell escribió:
 On 05/02/2013 03:40 PM, Pacho Ramos wrote:
 El jue, 02-05-2013 a las 14:34 +0200, hasufell escribió:
 On 05/02/2013 12:41 PM, Pacho Ramos wrote:
 gnome-games was splitted in separate packages per game and, then, we
 need an eclass to also set proper settings inherited from gnome2 and
 games eclasses. This should also solve:
 https://bugs.gentoo.org/show_bug.cgi?id=432848

 eclass and ebuild (games-puzzle/five-or-more) to try attached


 This does not honour GAMES_DATADIR afais.

 They cannot honor it since installing all stuff under /usr/share/games
 will lead to them even failing to start (I tried it before).


 Why?

 It's a common problem that people hardcode data dir destination in their
 source files, assuming that people only want to install into /usr/share.
 That is simply a bug and needs to be fixed in the package (it also means
 it will probably fail for /usr/local and many other usecases, so this is
 not even a gentoo specific bug).

 You cannot fix that on eclass level and it is not a reason to drop
 supporting GAMES_DATADIR variable. That is inconsistent and does not
 make sense. You would even get mixed permissions unless you fix that up too.

 
 I don't understand why games team makes all this prefix work, isn't
 changing permissions of installed files enough?
 
 I doubt if upstream will be ok with installing
 schemas/translations/gtk-doc stuff under this prefix :/
 

schemas/translations/gtk-doc don't need to be installed under that
prefix. Sometimes you have to seperate install locations, otherwise you
would end up getting pixmaps in /usr/share/games/pixmaps and such.

That sometimes needs some micro-management. Datafiles should _always_
have a seperate switch to choose the destination.


 prepgamesdirs is missing completely too.

 So those games will not be compliant with the games.eclass standard.


 In games.eclass I see you have prepgamesdirs but don't call it on any
 exported phase from games.eclass :-/, how are other games calling it?



 You call it explicitly.

 
 In src_install, no?
 
 

Yes



Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games

2013-05-02 Thread Pacho Ramos
El jue, 02-05-2013 a las 17:16 +0200, hasufell escribió:
 On 05/02/2013 05:12 PM, Pacho Ramos wrote:
  El jue, 02-05-2013 a las 15:54 +0200, hasufell escribió:
  On 05/02/2013 03:40 PM, Pacho Ramos wrote:
  El jue, 02-05-2013 a las 14:34 +0200, hasufell escribió:
  On 05/02/2013 12:41 PM, Pacho Ramos wrote:
  gnome-games was splitted in separate packages per game and, then, we
  need an eclass to also set proper settings inherited from gnome2 and
  games eclasses. This should also solve:
  https://bugs.gentoo.org/show_bug.cgi?id=432848
 
  eclass and ebuild (games-puzzle/five-or-more) to try attached
 
 
  This does not honour GAMES_DATADIR afais.
 
  They cannot honor it since installing all stuff under /usr/share/games
  will lead to them even failing to start (I tried it before).
 
 
  Why?
 
  It's a common problem that people hardcode data dir destination in their
  source files, assuming that people only want to install into /usr/share.
  That is simply a bug and needs to be fixed in the package (it also means
  it will probably fail for /usr/local and many other usecases, so this is
  not even a gentoo specific bug).
 
  You cannot fix that on eclass level and it is not a reason to drop
  supporting GAMES_DATADIR variable. That is inconsistent and does not
  make sense. You would even get mixed permissions unless you fix that up 
  too.
 
  
  I don't understand why games team makes all this prefix work, isn't
  changing permissions of installed files enough?
  
  I doubt if upstream will be ok with installing
  schemas/translations/gtk-doc stuff under this prefix :/
  
 
 schemas/translations/gtk-doc don't need to be installed under that
 prefix. Sometimes you have to seperate install locations, otherwise you
 would end up getting pixmaps in /usr/share/games/pixmaps and such.
 
 That sometimes needs some micro-management. Datafiles should _always_
 have a seperate switch to choose the destination.

This is another attempt, some pending problems are:
- localedir is wrongly chosen
- it installs /var stuff under /var/games/games instead of /var/games :S

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.16 
2013/04/07 17:02:52 mgorny Exp $

# @ECLASS: gnome-games
# @MAINTAINER:
# Gnome team gn...@gentoo.org
# @AUTHOR:
# Author: Pacho Ramos pa...@gentoo.org
# @BLURB: An eclass to build gnome-games.
# @DESCRIPTION:
# An eclass to build gnome-games using proper phases from gnome2 and
# games eclasses.

case ${EAPI:-0} in
0|1)
die Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}
;;
2|3|4|5)
;;
*)
die Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}
;;
esac

inherit games gnome2

EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install 
pkg_preinst pkg_postinst pkg_postrm

if [[ ! ${_GNOME_GAMES} ]]; then

RDEPEND=!gnome-extra/gnome-games

# @FUNCTION: gnome-games_pkg_setup
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_setup() {
debug-print-function ${FUNCNAME} ${@}
games_pkg_setup
}

# @FUNCTION: gnome-games_src_prepare
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_prepare() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_prepare
}

# @FUNCTION: gnome-games_src_configure
# @DESCRIPTION:
# Set proper phase defaults, relying on gnome2_src_configure
# and passing extra arguments from egamesconf (games.eclass)
gnome-games_src_configure() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_configure \
--bindir=${GAMES_BINDIR} \
--libdir=$(games_get_libdir) \
--sysconfdir=${GAMES_SYSCONFDIR} \
--localstatedir=${GAMES_STATEDIR} \
--prefix=${GAMES_PREFIX} \
--localedir=/usr/share/locale \
$@
# GAMES_DATADIR causes games to fail to run due schemas and other
# files getting installed in unexpected places
# --datadir=${GAMES_DATADIR}
#
# We need to not set GAMES_PREFIX to get translations working
# --localedir=${EPREFIX}/usr/share/locale is not enough
# --prefix=${GAMES_PREFIX} - setting bindir instead
}

# @FUNCTION: gnome-games_src_compile
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_compile() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_compile
}

# @FUNCTION: gnome-games_src_install
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_src_install() {
debug-print-function ${FUNCNAME} ${@}
gnome2_src_install
prepgamesdirs
}

# @FUNCTION: gnome-games_pkg_preinst
# @DESCRIPTION:
# Set proper phase defaults
gnome-games_pkg_preinst() {
debug-print-function ${FUNCNAME} ${@}
gnome2_pkg_preinst
games_pkg_preinst
}

# @FUNCTION: gnome-games_pkg_preinst
# @DESCRIPTION:
# Set proper phase defaults