From: Pacho Ramos <pacho@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games
Date: Thu, 02 May 2013 17:35:03 +0200 [thread overview]
Message-ID: <1367508903.21951.18.camel@localhost> (raw)
In-Reply-To: <51828365.2050806@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 2239 bytes --]
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
[-- Attachment #2: gnome-games.eclass --]
[-- Type: text/plain, Size: 2969 bytes --]
# 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 <gnome@gentoo.org>
# @AUTHOR:
# Author: Pacho Ramos <pacho@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
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
next prev parent reply other threads:[~2013-05-02 15:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-02 10:41 [gentoo-dev] gnome-games.eclass: Eclass for installing all gnome-games Pacho Ramos
2013-05-02 12:34 ` hasufell
2013-05-02 13:40 ` Pacho Ramos
2013-05-02 13:54 ` hasufell
2013-05-02 15:12 ` Pacho Ramos
2013-05-02 15:16 ` hasufell
2013-05-02 15:35 ` Pacho Ramos [this message]
2013-06-27 20:25 ` Pacho Ramos
2013-06-27 20:38 ` hasufell
2013-06-27 20:43 ` Pacho Ramos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1367508903.21951.18.camel@localhost \
--to=pacho@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox