aboutsummaryrefslogtreecommitdiffstats
path: root/lang/jruby/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/jruby/Makefile')
-rw-r--r--lang/jruby/Makefile53
1 files changed, 39 insertions, 14 deletions
diff --git a/lang/jruby/Makefile b/lang/jruby/Makefile
index db5f567bbeaa..3159f3d51720 100644
--- a/lang/jruby/Makefile
+++ b/lang/jruby/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= jruby
-PORTVERSION= 1.1.1
+PORTVERSION= 1.1.3
PORTREVISION= 1
CATEGORIES= lang ruby java
MASTER_SITES= http://dist.codehaus.org/jruby/ \
@@ -25,13 +25,14 @@ USE_JAVA= yes
JAVA_VERSION= 1.3+
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
-JRUBY_HOME?= ${PREFIX}/share/${PORTNAME}
+JRUBY_HOME?= ${PREFIX}/share/${PORTNAME}-${PORTVERSION}
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-REPLACE_FILES= ${WRKSRC}/bin/jruby \
- ${WRKSRC}/bin/jrubyc
-REPLACE_LIST= JRUBY_HOME=${JRUBY_HOME} \
- JAVA_HOME=${JAVA_HOME}
+REPLACE_FILES= ${WRKSRC}/bin/jruby
+REPLACE_LIST= JAVA_HOME=${JAVA_HOME}
REPLACE_LIST_TEMP= ${REPLACE_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/}
+SHEBANG_FILES= rake spec spec_translator Rakefile '*.rb'
+
+PLIST_SUB+= PORTNAME=${PORTNAME} PORTVERSION=${PORTVERSION}
.include <bsd.port.pre.mk>
@@ -41,26 +42,50 @@ pre-patch:
@${ECHO_MSG} " JAVA_HOME: ${JAVA_HOME}"
post-patch:
+ @${ECHO_MSG} -n ">> Adjusting shebangs to use /usr/bin/env ..."
+ @${FIND} ${WRKSRC}/bin -type f -exec ${GREP} -q '^#!/bin/bash' {} \; -exec ${REINPLACE_CMD} -e 's|^#!/bin/bash|#!/usr/bin/env bash|' {} \;
+ @${FIND} ${WRKSRC} -type f -name '*.rb' -exec ${GREP} -q '^#!/usr/local/bin/ruby' {} \; -exec ${REINPLACE_CMD} -e 's|^#!/usr/local/bin/ruby|#!/usr/bin/env jruby|' {} \;
+.for target in ${SHEBANG_FILES}
+ @${FIND} ${WRKSRC} -type f -name ${target} -exec ${GREP} -q '^#!/usr/bin/env ruby' {} \; -exec ${REINPLACE_CMD} -e 's|^#!/usr/bin/env ruby|#!/usr/bin/env jruby|' {} \;
+.endfor
+ @${ECHO_MSG} " [ DONE ]"
+
@${ECHO_MSG} -n ">> Removing unneeded files..."
- @${RM} -f `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'`
+ @${RM} -f `${FIND} ${WRKSRC} -name '*.bat'` `${FIND} ${WRKSRC} -name '*.orig'` `${FIND} ${WRKSRC} -name '*.exe'` `${FIND} ${WRKSRC} -name '*.bak'`
@${ECHO_MSG} " [ DONE ]"
-.for file in ${REPLACE_FILES}
- @${ECHO_MSG} -n ">> Customizing `basename ${file}`..."
- @${SED} ${REPLACE_LIST_TEMP} ${file} > ${WRKDIR}/`basename ${file}`
+
+.for target in ${REPLACE_FILES}
+ @${ECHO_MSG} -n ">> Customizing `basename ${target}`..."
+ @${SED} ${REPLACE_LIST_TEMP} ${target} > ${WRKDIR}/`basename ${target}`
@${ECHO_MSG} " [ DONE ]"
+ @${MV} ${WRKDIR}/`basename ${target}` ${target}
.endfor
do-install:
- @${ECHO_MSG} -n ">> Installation JRuby files..."
- @${INSTALL_SCRIPT} ${WRKDIR}/jruby ${PREFIX}/bin/jruby
- @${INSTALL_SCRIPT} ${WRKDIR}/jrubyc ${PREFIX}/bin/jrubyc
+ @${ECHO_MSG} -n ">> Installing JRuby files..."
+
+ @cd ${WRKSRC}/bin \
+ && ${FIND} . -type d -exec ${MKDIR} ${JRUBY_HOME}/bin/{} \; \
+ && ${FIND} . -type f -exec ${INSTALL_SCRIPT} {} ${JRUBY_HOME}/bin/{} \;
@cd ${WRKSRC}/lib \
&& ${FIND} . -type d -exec ${MKDIR} ${JRUBY_HOME}/lib/{} \; \
&& ${FIND} . -type f -exec ${INSTALL_DATA} {} ${JRUBY_HOME}/lib/{} \;
+ @cd ${WRKSRC}/share \
+ && ${FIND} . -type d -exec ${MKDIR} ${JRUBY_HOME}/share/{} \; \
+ && ${FIND} . -type f -exec ${INSTALL_DATA} {} ${JRUBY_HOME}/share/{} \;
+
@${ECHO_MSG} " [ DONE ]"
+
+ @${ECHO_MSG} -n ">> Installing symlinks in ${PREFIX}/bin..."
+ @${LN} -s ${JRUBY_HOME}/bin/jruby ${PREFIX}/bin/jruby
+ @${LN} -s ${JRUBY_HOME}/bin/jirb ${PREFIX}/bin/jirb
+ @${ECHO_MSG} " [ DONE ]"
+
.if !defined(NOPORTDOCS)
- @${ECHO_MSG} -n ">> Installation Documents files..."
+ @${ECHO_MSG} -n ">> Installing Documents files..."
@${MKDIR} ${DOCSDIR}
+ @(cd ${WRKSRC}/ \
+ && ${COPYTREE_SHARE} [A-Z]\* ${DOCSDIR})
@(cd ${WRKSRC}/docs \
&& ${COPYTREE_SHARE} \* ${DOCSDIR})
@${MKDIR} ${EXAMPLESDIR}