/[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.25 Revision 1.26
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.25 2010/12/18 09:50:08 graaff Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-fakegem.eclass,v 1.26 2010/12/18 09:57:24 graaff 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#
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_REQUIRE_PATHS="" 60# RUBY_FAKEGEM_REQUIRE_PATHS=""
61
62# @ECLASS-VARIABLE: RUBY_FAKEGEM_GEMSPEC
63# @DESCRIPTION:
64# Filename of .gemspec file to install instead of generating a generic one.
65# RUBY_FAKEGEM_GEMSPEC=""
66 61
67RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN}}" 62RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN}}"
68RUBY_FAKEGEM_VERSION="${RUBY_FAKEGEM_VERSION:-${PV/_pre/.pre}}" 63RUBY_FAKEGEM_VERSION="${RUBY_FAKEGEM_VERSION:-${PV/_pre/.pre}}"
69RUBY_FAKEGEM_SUFFIX="${RUBY_FAKEGEM_SUFFIX:-}" 64RUBY_FAKEGEM_SUFFIX="${RUBY_FAKEGEM_SUFFIX:-}"
70 65
136 local newbasename=$(basename "$2") 131 local newbasename=$(basename "$2")
137 132
138 insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${newdirname} 133 insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${newdirname}
139 newins "$1" ${newbasename} 134 newins "$1" ${newbasename}
140 ) || die "failed $0 $@" 135 ) || die "failed $0 $@"
141}
142
143# @FUNCTION: ruby_fakegem_gemspec
144# @DESCRIPTION:
145# Install a .gemspec file for this package. Either use the file indicated
146# by the RUBY_FAKEGEM_GEMSPEC variable, or generate one using
147# ruby_fakegem_genspec
148ruby_fakegem_gemspec() {
149 if [[ ${RUBY_FAKEGEM_GEMSPEC} != "" ]]; then
150 (
151 insinto $(ruby_fakegem_gemsdir)/specifications
152 newins "${RUBY_FAKEGEM_GEMSPEC}" ${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}.gemspec
153 ) || die "Unable to install ${RUBY_FAKEGEM_GEMSPEC} gemspec"
154 else
155 ruby_fakegem_genspec
156 fi
157} 136}
158 137
159# @FUNCTION: ruby_fakegem_genspec 138# @FUNCTION: ruby_fakegem_genspec
160# @DESCRIPTION: 139# @DESCRIPTION:
161# Generates a gemspec for the package and places it into the "specifications" 140# Generates a gemspec for the package and places it into the "specifications"
175 # copies with different implementations; while for now we're using 154 # copies with different implementations; while for now we're using
176 # the same exact content, we might have differences in the future, 155 # the same exact content, we might have differences in the future,
177 # so better taking this into consideration. 156 # so better taking this into consideration.
178 local quoted_description=${DESCRIPTION//\"/\\\"} 157 local quoted_description=${DESCRIPTION//\"/\\\"}
179 cat - > "${T}"/${RUBY_FAKEGEM_NAME}-${_ruby_implementation} <<EOF 158 cat - > "${T}"/${RUBY_FAKEGEM_NAME}-${_ruby_implementation} <<EOF
180# generated by ruby-fakegem.eclass $Revision: 1.25 $ 159# generated by ruby-fakegem.eclass $Revision: 1.26 $
181Gem::Specification.new do |s| 160Gem::Specification.new do |s|
182 s.name = "${RUBY_FAKEGEM_NAME}" 161 s.name = "${RUBY_FAKEGEM_NAME}"
183 s.version = "${RUBY_FAKEGEM_VERSION}" 162 s.version = "${RUBY_FAKEGEM_VERSION}"
184 s.summary = "${quoted_description}" 163 s.summary = "${quoted_description}"
185 s.homepage = "${HOMEPAGE}" 164 s.homepage = "${HOMEPAGE}"
229 208
230 cat - > "${T}"/gembin-wrapper-${gembinary} <<EOF 209 cat - > "${T}"/gembin-wrapper-${gembinary} <<EOF
231#!${rubycmd} 210#!${rubycmd}
232# This is a simplified version of the RubyGems wrapper 211# This is a simplified version of the RubyGems wrapper
233# 212#
234# Generated by ruby-fakegem.eclass $Revision: 1.25 $ 213# Generated by ruby-fakegem.eclass $Revision: 1.26 $
235 214
236require 'rubygems' 215require 'rubygems'
237 216
238load Gem::default_path[-1] + "/gems/${relativegembinary}" 217load Gem::default_path[-1] + "/gems/${relativegembinary}"
239 218
321 300
322# @FUNCTION: each_fakegem_install 301# @FUNCTION: each_fakegem_install
323# @DESCRIPTION: 302# @DESCRIPTION:
324# Install the package for each ruby target. 303# Install the package for each ruby target.
325each_fakegem_install() { 304each_fakegem_install() {
326 ruby_fakegem_gemspec 305 ruby_fakegem_genspec
327 306
328 local _gemlibdirs="${RUBY_FAKEGEM_EXTRAINSTALL}" 307 local _gemlibdirs="${RUBY_FAKEGEM_EXTRAINSTALL}"
329 for directory in bin lib; do 308 for directory in bin lib; do
330 [[ -d ${directory} ]] && _gemlibdirs="${_gemlibdirs} ${directory}" 309 [[ -d ${directory} ]] && _gemlibdirs="${_gemlibdirs} ${directory}"
331 done 310 done

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

  ViewVC Help
Powered by ViewVC 1.1.20