Stanislav asked me to review. I'm also including the list since other
people may also be interested how to handle ruby ebuilds.

On Wed, 2011-06-15 at 22:04 +0000, Stanislav Ochotnicky (sochotnicky)
wrote:
> sochotnicky    11/06/15 22:04:56
> 
>   Added:                metadata.xml ChangeLog fromcvs-0_pre132.ebuild
>   Log:
>   New ebuild for fromcvs added to the tree. Fixes #173341
>   

> EAPI=2
> 
> USE_RUBY="ruby18 ree18"
> 
> #mercurial after ruby!
> inherit ruby-ng mercurial
> 
> MY_PV="${PV#0_pre}"
> 
> DESCRIPTION="fromcvs converts cvs to git and hg"
> HOMEPAGE="http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs";
> SRC_URI=""
> EHG_REPO_URI="http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs";
> EHG_REVISION="${MY_PV}"
> 
> LICENSE="BSD-4"
> SLOT="0"
> KEYWORDS="~amd64"
> IUSE="test"
> 
> RUBY_S="${PN}-${PV}"

RUBY_S is only supported in EAPI=4. You are getting away with this
because you are using a custom unpack method.

> RDEPEND="dev-ruby/rcsparse >=dev-ruby/rbtree-0.3.0-r2 dev-vcs/git"

The ruby-ng eclasses frob RDEPEND, so you should always add to it, e.g.

RDEPEND="${RDEPEND} dev-vcs/git"

Also, all ruby dependencies should be handled via ruby_add_rdepend to
ensure that your list in USE_RUBY is properly passed down to the
dependencies:

ruby_add_rdepend "dev-ruby/rcsparse >=dev-ruby/rb-tree-0.3.0-r2"

> # this is a workaround because combination of ruby-ng and mercurial is
> # not working correctly for unpacking
> src_prepare() {
>       for rubyv in ${USE_RUBY};do

Missing "all" target.

>               mkdir "${WORKDIR}/${rubyv}"

|| die

>               cp -prl "${S}" "${WORKDIR}/${rubyv}/${RUBY_S}"

|| die

>       done
> }
> 
> each_ruby_install() {
>       siteruby=$(${RUBY} -r rbconfig -e 'print Config::CONFIG["sitedir"]')
>       insinto ${siteruby}

insinto ruby_rbconfig("sitedir")

>       doins *.rb || die "Installation of rb files failes"

Typo.

> 
>       make_script togit
>       make_script tohg
> }
> 
> make_script() {
>       echo "ruby /usr/$(get_libdir)/ruby/site_ruby/$1.rb \$@" > $1

I'm not sure how this should work? Perhaps you mean something like:

echo "#!/usr/bin/ruby ..."

>       dobin $1

|| die, (or use EAPI=4)

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to