diff options
author | jlam <jlam> | 2008-03-11 22:11:32 +0000 |
---|---|---|
committer | jlam <jlam> | 2008-03-11 22:11:32 +0000 |
commit | 92a54ec41f580e144f003c6ea6c663cc9c3dd6a6 (patch) | |
tree | c67a54f247374b2a41cd06e4620d65f90781629b /misc | |
parent | 8cfb97681c75166aff8aa152dbd6c05c2f5a8fd9 (diff) | |
download | pkgsrc-92a54ec41f580e144f003c6ea6c663cc9c3dd6a6.tar.gz |
+ We need rubygems>=1.0.1nb1 (which has the OpenSuSE buildroot patch)
for building and installing the gems, but we can use older rubygems
at run-time.
+ Move GEMFILE definition ahead of EXTRACT_SUFX just as a style issue.
This looks more like a normal package Makefile layout.
+ Rename GEMS_BASEDIR to GEM_HOME, which is the actual rubygems variable
name for that directory.
+ Rename some variables to be more in line with other ruby variable
names:
GEM_LIB_DIR => GEM_LIBDIR
GEM_DOC_DIR => GEM_DOCDIR
+ Set RUBYGEM_PKGPREFIX to ${RUBY_PKGPREFIX}-gem for now. We know
that at least we don't want ruby packages to prefix with "rubygems".
+ Just use EVAL_PREFIX instead of directly using find-prefix.mk.
Diffstat (limited to 'misc')
-rw-r--r-- | misc/rubygems/rubygem.mk | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/misc/rubygems/rubygem.mk b/misc/rubygems/rubygem.mk index ac82643048a..bd547904675 100644 --- a/misc/rubygems/rubygem.mk +++ b/misc/rubygems/rubygem.mk @@ -1,4 +1,4 @@ -# $NetBSD: rubygem.mk,v 1.1 2008/03/11 20:12:17 seb Exp $ +# $NetBSD: rubygem.mk,v 1.2 2008/03/11 22:11:32 jlam Exp $ # # This Makefile fragment is intended to be included by packages that build # and install Ruby gems. @@ -30,48 +30,51 @@ .include "../../lang/ruby/modules.mk" # Build and run-time dependency on rubygem -BUILD_DEPENDS+= rubygems-[0-9]*:../../misc/rubygems -DEPENDS+= rubygems-[0-9]*:../../misc/rubygems +# +# We need rubygems>=1.0.1nb1 to actually build the package, but the +# resulting installed gem can run with older versions of rubygems. +# +BUILD_DEPENDS+= rubygems>=1.0.1nb1:../../misc/rubygems +DEPENDS+= rubygems>=0.8.7:../../misc/rubygems + +# GEMFILE holds the filename of the Gem to install +.if defined(DISTFILES) +GEMFILE?= ${DISTFILES} +.else +GEMFILE?= ${DISTNAME}${EXTRACT_SUFX} +.endif EXTRACT_SUFX?= .gem EXTRACT_ONLY?= # empty # Base directory for Gems -GEMS_BASEDIR= lib/ruby/gems/${RUBY_VER_DIR} +GEM_HOME= ${PREFIX}/lib/ruby/gems/${RUBY_VER_DIR} # Directory for the Gem to install GEM_NAME?= ${DISTNAME} -GEM_LIB_DIR= ${GEMS_BASEDIR}/gems/${GEM_NAME} -GEM_DOC_DIR= ${GEMS_BASEDIR}/doc/${GEM_NAME} +GEM_LIBDIR= ${GEM_HOME}/gems/${GEM_NAME} +GEM_DOCDIR= ${GEM_HOME}/doc/${GEM_NAME} -RUBYGEM_PKGPREFIX= rubygem +RUBYGEM_PKGPREFIX= ${RUBY_PKGPREFIX}-gem # RUBYGEM holds the path to RubyGems' gem command -FIND_PREFIX:= RUBYGEM_PREFIX=rubygems -.include "../../mk/find-prefix.mk" +EVAL_PREFIX+= RUBYGEM_PREFIX=rubygems RUBYGEM= ${RUBYGEM_PREFIX}/bin/gem # PLIST support -PLIST_SUBST+= GEM_LIB_DIR=${GEM_LIB_DIR} -PLIST_SUBST+= GEM_DOC_DIR=${GEM_DOC_DIR} -PLIST_SUBST+= GEMS_BASEDIR=${GEMS_BASEDIR} +PLIST_SUBST+= GEM_HOME=${GEM_HOME:S|^${PREFIX}/||} +PLIST_SUBST+= GEM_LIBDIR=${GEM_LIBDIR:S|^${PREFIX}/||} +PLIST_SUBST+= GEM_DOCDIR=${GEM_DOCDIR:S|^${PREFIX}/||} # print-PLIST support -PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_LIB_DIR:S|${PREFIX}/||:S|/|\\/|g}/ \ - { gsub(/${GEM_LIB_DIR:S|${PREFIX}/||:S|/|\\/|g}/, "$${GEM_LIB_DIR}"); print; next; } -PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_DOC_DIR:S|${PREFIX}/||:S|/|\\/|g}/ \ - { gsub(/${GEM_DOC_DIR:S|${PREFIX}/||:S|/|\\/|g}/, "$${GEM_DOC_DIR}"); print; next; } -PRINT_PLIST_AWK+= /^@dirrm ${GEMS_BASEDIR:S|${PREFIX}/||:S|/|\\/|g}(\/(gems|cache|doc|specifications))?$$/ \ +PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_LIBDIR:S|${PREFIX}/||:S|/|\\/|g}/ \ + { gsub(/${GEM_LIBDIR:S|${PREFIX}/||:S|/|\\/|g}/, "$${GEM_LIBDIR}"); print; next; } +PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_DOCDIR:S|${PREFIX}/||:S|/|\\/|g}/ \ + { gsub(/${GEM_DOCDIR:S|${PREFIX}/||:S|/|\\/|g}/, "$${GEM_DOCDIR}"); print; next; } +PRINT_PLIST_AWK+= /^@dirrm ${GEM_HOME:S|${PREFIX}/||:S|/|\\/|g}(\/(gems|cache|doc|specifications))?$$/ \ { next; } -PRINT_PLIST_AWK+= /^(@dirrm )?${GEMS_BASEDIR:S|${PREFIX}/||:S|/|\\/|g}/ \ - { gsub(/${GEMS_BASEDIR:S|${PREFIX}/||:S|/|\\/|g}/, "$${GEMS_BASEDIR}"); print; next; } - -# GEMFILE holds the filename of the Gem to install -.if defined(DISTFILES) -GEMFILE?= ${DISTFILES} -.else -GEMFILE?= ${DISTNAME}${EXTRACT_SUFX} -.endif +PRINT_PLIST_AWK+= /^(@dirrm )?${GEM_HOME:S|${PREFIX}/||:S|/|\\/|g}/ \ + { gsub(/${GEM_HOME:S|${PREFIX}/||:S|/|\\/|g}/, "$${GEM_HOME}"); print; next; } # Define a build target so that tools, buildink, etc... frameworks are setup # in case the Gem contains sources to build @@ -82,6 +85,6 @@ do-build: # Installation target do-gem-install: - ${RUN}${SETENV} ${GEM_ENV} ${RUBYGEM} install --local --no-update-sources --no-ri --install-dir ${PREFIX}/${GEMS_BASEDIR} ${_DISTDIR}/${GEMFILE} -- --build-args ${CONFIGURE_ARGS} + ${RUN}${SETENV} ${GEM_ENV} ${RUBYGEM} install --local --no-update-sources --no-ri --install-dir ${PREFIX}/${GEM_HOME} ${_DISTDIR}/${GEMFILE} -- --build-args ${CONFIGURE_ARGS} do-install: do-gem-install |