public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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

  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