# Created by: Alexander Novitsky # $FreeBSD$ PORTNAME= gems PORTVERSION= 1.8.30 CATEGORIES= devel ruby MASTER_SITES= https://github.com/rubygems/rubygems/releases/download/v${PORTVERSION}/ PKGNAMEPREFIX= ${RUBY_PKGNAMEPREFIX} DISTNAME= ruby${PORTNAME}-${PORTVERSION} DIST_SUBDIR= ruby MAINTAINER= ruby@FreeBSD.org COMMENT= Package management framework for the Ruby language LICENSE= MIT RUBY LICENSE_COMB= dual USE_RUBY= yes RUBY_SETUP= setup.rb NO_BUILD= yes USES= tar:tgz PLIST_SUB+= DISTNAME="${DISTNAME}" \ RUBY_VER_SHORT="${RUBY_VER_SHORT}" GEMS_BASE_DIR= lib/ruby/gems GEMS_BASE_DIR_P= ${GEMS_BASE_DIR} GEMS_VER_DIR= ${GEMS_BASE_DIR}/${RUBY_VER} GEMS_VER_DIR_P= ${GEMS_BASE_DIR_P}/%%RUBY_VER%% GEMS_DOC_BASE_DIR= ${GEMS_VER_DIR}/doc GEMS_DOC_BASE_DIR_P= ${GEMS_VER_DIR_P}/doc GEMS_DOC_DIR= ${GEMS_DOC_BASE_DIR}/${DISTNAME} GEMS_DOC_DIR_P= ${GEMS_DOC_BASE_DIR_P}/%%DISTNAME%% RUBY_VER_SHORT= ${RUBY_VER:S/.//} OPTIONS_DEFINE= DOCS .include .if ${PORT_OPTIONS:MDOCS} RUBY_SETUP_OPTIONS= --ri --rdoc --destdir=${STAGEDIR} GEM_ENV+= GEM_HOME=${STAGEDIR}${PREFIX}/${GEMS_VER_DIR} .else RUBY_SETUP_OPTIONS= --no-ri --no-rdoc --destdir=${STAGEDIR} .endif do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/${GEMS_DOC_BASE_DIR}/ @${TOUCH} ${STAGEDIR}${PREFIX}/${GEMS_DOC_BASE_DIR}/.keep_this cd ${WRKSRC}; ${SETENV} ${GEM_ENV} ${RUBY} ${RUBY_SETUP} ${RUBY_SETUP_OPTIONS} post-install: @${LN} -sf gem${RUBY_VER_SHORT} ${STAGEDIR}${PREFIX}/bin/gem # # Find all RDOC and RI files # .if ${PORT_OPTIONS:MDOCS} @${FIND} -ds ${STAGEDIR}${PREFIX}/${GEMS_DOC_DIR}/ ! -type d | \ ${SED} 's,^${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST} @${FIND} -ds ${STAGEDIR}${PREFIX}/${GEMS_DOC_DIR}/ -type d -mindepth 1 | \ ${SED} -E -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${TMPPLIST} @${ECHO_CMD} "@dirrm ${GEMS_DOC_DIR}" >> ${TMPPLIST} .endif @${ECHO_CMD} "@unexec rmdir %D/lib/ruby/gems/${RUBY_VER}/doc 2>/dev/null || true" >> ${TMPPLIST} @${ECHO_CMD} "@unexec rmdir %D/lib/ruby/gems/${RUBY_VER} 2>/dev/null || true" >> ${TMPPLIST} @${ECHO_CMD} "@unexec rmdir %D/lib/ruby/gems 2>/dev/null || true" >> ${TMPPLIST} @${ECHO_CMD} "@unexec rmdir %D/lib/ruby 2>/dev/null || true" >> ${TMPPLIST} # This target is only meant to be used by the port maintainer. x-generate-plist: ${ECHO} bin/gem > pkg-plist.new ${ECHO} bin/gem%%RUBY_VER_SHORT%% >> pkg-plist.new ${ECHO} %%RUBY_SITELIBDIR%%/gauntlet_rubygems.rb >> pkg-plist.new ${ECHO} %%RUBY_SITELIBDIR%%/rbconfig/datadir.rb >> pkg-plist.new ${ECHO} %%RUBY_SITELIBDIR%%/rubygems.rb >> pkg-plist.new ${FIND} ${STAGEDIR}${RUBY_SITELIBDIR}/rubygems -type f | ${SORT} | ${SED} -e 's,${STAGEDIR}${RUBY_SITELIBDIR},%%RUBY_SITELIBDIR%%,' >> pkg-plist.new ${ECHO} %%RUBY_SITELIBDIR%%/ubygems.rb >> pkg-plist.new ${FIND} ${STAGEDIR}${PREFIX}/${GEMS_DOC_DIR} -type f | ${SORT} | ${SED} -e 's,${STAGEDIR}${PREFIX}/${GEMS_DOC_DIR},%%PORTDOCS%%${GEMS_DOC_DIR_P},' >> pkg-plist.new ${FIND} ${STAGEDIR}${RUBY_SITELIBDIR}/rubygems -type d | ${SORT} -r | ${SED} -e 's,${STAGEDIR}${RUBY_SITELIBDIR},@dirrm %%RUBY_SITELIBDIR%%,' >> pkg-plist.new ${ECHO} @dirrm %%RUBY_SITELIBDIR%%/rbconfig >> pkg-plist.new ${ECHO} @dirrmtry ${GEMS_VER_DIR_P}/specifications >> pkg-plist.new ${ECHO} @dirrmtry ${GEMS_VER_DIR_P}/gems >> pkg-plist.new ${ECHO} @dirrmtry ${GEMS_VER_DIR_P}/cache >> pkg-plist.new ${FIND} ${STAGEDIR}${PREFIX}/${GEMS_DOC_DIR} -type d | ${SORT} -r | ${SED} -e 's,${STAGEDIR}${PREFIX}/${GEMS_DOC_DIR},%%PORTDOCS%%@dirrm ${GEMS_DOC_DIR_P},' >> pkg-plist.new ${ECHO} ${GEMS_DOC_BASE_DIR_P}/.keep_this >> pkg-plist.new ${ECHO} @dirrmtry ${GEMS_DOC_BASE_DIR_P} >> pkg-plist.new ${ECHO} @dirrmtry ${GEMS_VER_DIR_P} >> pkg-plist.new ${ECHO} @dirrmtry ${GEMS_BASE_DIR_P} >> pkg-plist.new .include