Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games
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
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
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
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
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
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
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
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
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
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