/[gentoo-x86]/eclass/ruby-fakegem.eclass
Gentoo

Diff of /eclass/ruby-fakegem.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.8 Revision 1.11
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2009 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-fakegem.eclass,v 1.8 2009/12/26 17:06:02 flameeyes Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-fakegem.eclass,v 1.11 2010/01/18 22:01:46 flameeyes Exp $
4# 4#
5# @ECLASS: ruby-fakegem.eclass 5# @ECLASS: ruby-fakegem.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Ruby herd <ruby@gentoo.org> 7# Ruby herd <ruby@gentoo.org>
8# 8#
55# RUBY_FAKEGEM_BINWRAP="*" 55# RUBY_FAKEGEM_BINWRAP="*"
56 56
57# @ECLASS-VARIABLE: RUBY_FAKEGEM_REQUIRE_PATHS 57# @ECLASS-VARIABLE: RUBY_FAKEGEM_REQUIRE_PATHS
58# @DESCRIPTION: 58# @DESCRIPTION:
59# Extra require paths (beside lib) to add to the specification 59# Extra require paths (beside lib) to add to the specification
60# RUBY_FAKEGEM_BINWRAP="" 60# RUBY_FAKEGEM_REQUIRE_PATHS=""
61 61
62RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN}}" 62RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN}}"
63RUBY_FAKEGEM_VERSION="${RUBY_FAKEGEM_VERSION:-${PV}}" 63RUBY_FAKEGEM_VERSION="${RUBY_FAKEGEM_VERSION:-${PV}}"
64 64
65RUBY_FAKEGEM_TASK_DOC="${RUBY_FAKEGEM_TASK_DOC-rdoc}" 65RUBY_FAKEGEM_TASK_DOC="${RUBY_FAKEGEM_TASK_DOC-rdoc}"
213 ebegin "Unpacking .gem file..." 213 ebegin "Unpacking .gem file..."
214 tar -mxf ${DISTDIR}/${A} || die 214 tar -mxf ${DISTDIR}/${A} || die
215 eend $? 215 eend $?
216 216
217 mkdir "${S}" 217 mkdir "${S}"
218 pushd "${S}" 218 pushd "${S}" &>/dev/null
219 219
220 ebegin "Unpacking data.tar.gz" 220 ebegin "Unpacking data.tar.gz"
221 tar -mxf "${my_WORKDIR}"/data.tar.gz || die 221 tar -mxf "${my_WORKDIR}"/data.tar.gz || die
222 eend $? 222 eend $?
223 popd &>/dev/null
223 else 224 else
224 [[ -n ${A} ]] && unpack ${A} 225 [[ -n ${A} ]] && unpack ${A}
225 fi 226 fi
226} 227}
227 228
256# @DESCRIPTION: 257# @DESCRIPTION:
257# Install the package for each ruby target. 258# Install the package for each ruby target.
258each_fakegem_install() { 259each_fakegem_install() {
259 ruby_fakegem_genspec 260 ruby_fakegem_genspec
260 261
261 local _gemlibdirs= 262 local _gemlibdirs="${RUBY_FAKEGEM_EXTRAINSTALL}"
262 for directory in bin lib ${RUBY_FAKEGEM_EXTRAINSTALL}; do 263 for directory in bin lib; do
263 [[ -d ${directory} ]] && _gemlibdirs="${_gemlibdirs} ${directory}" 264 [[ -d ${directory} ]] && _gemlibdirs="${_gemlibdirs} ${directory}"
264 done 265 done
265 266
267 [[ -n ${_gemlibdirs} ]] && \
266 ruby_fakegem_doins -r ${_gemlibdirs} 268 ruby_fakegem_doins -r ${_gemlibdirs}
267} 269}
268 270
269# @FUNCTION: each_ruby_install 271# @FUNCTION: each_ruby_install
270# @DESCRIPTION: 272# @DESCRIPTION:
271# Install the package for each target. 273# Install the package for each target.
275 277
276# @FUNCTION: all_fakegem_install 278# @FUNCTION: all_fakegem_install
277# @DESCRIPTION: 279# @DESCRIPTION:
278# Install files common to all ruby targets. 280# Install files common to all ruby targets.
279all_fakegem_install() { 281all_fakegem_install() {
280 if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && use doc; then 282 if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && [[ ${RUBY_FAKEGEM_TASK_DOC} != "" ]] && use doc; then
281 for dir in ${RUBY_FAKEGEM_DOCDIR}; do 283 for dir in ${RUBY_FAKEGEM_DOCDIR}; do
282 pushd ${dir} 284 pushd ${dir} &>/dev/null
283 dohtml -r * || die "failed to install documentation" 285 dohtml -r * || die "failed to install documentation"
284 popd 286 popd &>/dev/null
285 done 287 done
286 fi 288 fi
287 289
288 if [[ -n ${RUBY_FAKEGEM_EXTRADOC} ]]; then 290 if [[ -n ${RUBY_FAKEGEM_EXTRADOC} ]]; then
289 dodoc ${RUBY_FAKEGEM_EXTRADOC} || die "failed to install further documentation" 291 dodoc ${RUBY_FAKEGEM_EXTRADOC} || die "failed to install further documentation"
293 # same binaries, or something is wrong anyway, so... 295 # same binaries, or something is wrong anyway, so...
294 if [[ -n ${RUBY_FAKEGEM_BINWRAP} ]]; then 296 if [[ -n ${RUBY_FAKEGEM_BINWRAP} ]]; then
295 local bindir=$(find "${D}" -type d -path "*/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/bin" -print -quit) 297 local bindir=$(find "${D}" -type d -path "*/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/bin" -print -quit)
296 298
297 if [[ -d "${bindir}" ]]; then 299 if [[ -d "${bindir}" ]]; then
298 pushd "${bindir}" 300 pushd "${bindir}" &>/dev/null
299 local binaries=$(eval ls ${RUBY_FAKEGEM_BINWRAP}) 301 local binaries=$(eval ls ${RUBY_FAKEGEM_BINWRAP})
300 for binary in $binaries; do 302 for binary in $binaries; do
301 ruby_fakegem_binwrapper $binary 303 ruby_fakegem_binwrapper $binary
302 done 304 done
303 popd 305 popd &>/dev/null
304 fi 306 fi
305 fi 307 fi
306} 308}
307 309
308# @FUNCTION: all_ruby_install 310# @FUNCTION: all_ruby_install

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.20