mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-25 00:51:21 +00:00
c990483df5
Add a WITH_ONIGURUMA knob that enables the Oni Guruma regex engine that's currently under development that will eventually replace the stock one that's derived from LGPL'd GNU regex. [experimental]
175 lines
5.4 KiB
Makefile
175 lines
5.4 KiB
Makefile
# New ports collection makefile for: ruby
|
|
# Date created: 04 September 1997
|
|
# Whom: Eiji-usagi-MATSUmoto <usagi@ruby.club.or.jp>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= ruby${RUBY_R}
|
|
PORTVERSION= ${RUBY_PORTVERSION}
|
|
CATEGORIES= lang ruby ipv6
|
|
MASTER_SITES= ${MASTER_SITE_RUBY} \
|
|
${ONIGURUMA_MASTER_SITES:S,$,:oniguruma,}
|
|
MASTER_SITE_SUBDIR= stable \
|
|
${ONIGURUMA_MASTER_SITE_SUBDIR:S,$,/:oniguruma,}
|
|
DISTFILES= ${RUBY_DISTNAME}${EXTRACT_SUFX} \
|
|
${ONIGURUMA_DISTFILE:S,$,:oniguruma,}
|
|
DIST_SUBDIR= ruby
|
|
EXTRACT_ONLY= ${RUBY_DISTNAME}${EXTRACT_SUFX}
|
|
|
|
PATCH_SITES= ${MASTER_SITE_RUBY}
|
|
PATCH_SITE_SUBDIR= snapshots
|
|
PATCHFILES= ${RUBY_PATCHFILES}
|
|
PATCH_DIST_STRIP= -p1
|
|
|
|
MAINTAINER= knu@FreeBSD.org
|
|
|
|
.if defined(WITH_ONIGURUMA)
|
|
ONIGURUMA_MASTER_SITES= ${MASTER_SITE_RUBY}
|
|
ONIGURUMA_MASTER_SITE_SUBDIR= contrib
|
|
ONIGURUMA_DISTFILE= onigd20020313.tar.gz
|
|
.endif
|
|
|
|
#USE_BZIP2= yes
|
|
|
|
USE_RUBY= yes
|
|
RUBY_NO_BUILD_DEPENDS= yes
|
|
RUBY_NO_RUN_DEPENDS= yes
|
|
|
|
USE_AUTOCONF_VER=213
|
|
INSTALLS_SHLIB= yes
|
|
WRKSRC= ${RUBY_WRKSRC}
|
|
CONFIGURE_ARGS= ${RUBY_CONFIGURE_ARGS} \
|
|
--enable-shared
|
|
MAKE_ENV= LANG=C # prevent bison 1.33 w/ gettext 0.10.35 from coredumping
|
|
MAKE_ARGS= -j3
|
|
MAN1= ruby${_RUBY_SUFFIX}.1
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${OSVERSION} >= 400014
|
|
CONFIGURE_ARGS+= --enable-ipv6
|
|
.endif
|
|
|
|
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
|
|
MLINKS= ruby${_RUBY_SUFFIX}.1 ruby${RUBY_R}.1
|
|
IF_DEFAULT= ""
|
|
.else
|
|
IF_DEFAULT= "@comment "
|
|
.endif
|
|
|
|
.if defined(NORUBYLIB)
|
|
RUBYLIB= "@comment "
|
|
.else
|
|
RUBYLIB= ""
|
|
.endif
|
|
|
|
PLIST_SUB+= IF_DEFAULT=${IF_DEFAULT} \
|
|
RUBYLIB=${RUBYLIB}
|
|
|
|
IRB_WITHOUT_SUFFIX= ${LOCALBASE}/bin/irb
|
|
IRB_WITH_SUFFIX= ${IRB_WITHOUT_SUFFIX}${_RUBY_SUFFIX}
|
|
|
|
OBSOLETED_MODULES= sha1 shell syslog timex urb uri
|
|
|
|
post-extract:
|
|
.if defined(WITH_ONIGURUMA)
|
|
cd ${WRKDIR}; ${TAR} zxvf ${_DISTDIR}/${ONIGURUMA_DISTFILE}
|
|
.endif
|
|
|
|
post-patch:
|
|
.if defined(WITH_ONIGURUMA)
|
|
${CP} -f ${WRKDIR}/oniguruma/regex.[ch] ${WRKSRC}/
|
|
cd ${WRKSRC}; ${PATCH} < ${WRKDIR}/oniguruma/re.c.166.patch
|
|
.endif
|
|
${FIND} ${WRKSRC} -name '*.orig' -delete
|
|
.for d in Win32API
|
|
${RM} -rf ${WRKSRC}/ext/${d}
|
|
.endfor
|
|
.for d in gdbm tcltklib tk
|
|
${MV} ${WRKSRC}/ext/${d} ${WRKDIR}/
|
|
.endfor
|
|
|
|
pre-install:
|
|
${RM} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} \
|
|
${PREFIX}/man/man1/ruby${RUBY_R}.1 \
|
|
${PREFIX}/man/man1/ruby${RUBY_R}.1.gz \
|
|
${IRB_WITHOUT_SUFFIX}${RUBY_R}
|
|
|
|
post-install:
|
|
.if ${STRIP} == -s
|
|
strip ${RUBY}
|
|
.endif
|
|
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
|
|
${MV} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
|
|
${MV} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
|
|
.endif
|
|
${MV} -f ${IRB_WITHOUT_SUFFIX} ${IRB_WITH_SUFFIX}
|
|
if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ]; then \
|
|
${LN} -fs ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ${RUBY_WITHOUT_SUFFIX}${RUBY_R}; \
|
|
${LN} -fs ruby${RUBY_DEFAULT_SUFFIX}${RUBY_R}.1${MANEXT} ${PREFIX}/man/man1/ruby${RUBY_R}.1${MANEXT}; \
|
|
fi
|
|
if [ -x ${RUBY_WITHOUT_SUFFIX} ]; then \
|
|
${LN} -fs ${IRB_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX} ${IRB_WITHOUT_SUFFIX}; \
|
|
fi
|
|
.if !empty(RUBY_R)
|
|
if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ]; then \
|
|
${LN} -fs ${IRB_WITH_SUFFIX} ${IRB_WITHOUT_SUFFIX}${RUBY_R}; \
|
|
fi
|
|
.endif
|
|
${LDCONFIG} -m ${LOCALBASE}/lib
|
|
${RUBY_WITH_SUFFIX} ${RUBY_FLAGS} -i -p \
|
|
-e 'if $$. == 1; ' \
|
|
-e ' if /^#!/; ' \
|
|
-e ' sub /^#!\s*\S*(\benv\s+)?\bruby/, "#!${RUBY_WITH_SUFFIX}";' \
|
|
-e ' else;' \
|
|
-e ' $$_ = "#!${RUBY_WITH_SUFFIX}\n" + $$_;' \
|
|
-e ' end;' \
|
|
-e 'end' \
|
|
${IRB_WITH_SUFFIX}
|
|
${CHMOD} ${BINMODE} ${IRB_WITH_SUFFIX}
|
|
${MKDIR} ${RUBY_ELISPDIR}
|
|
${TOUCH} ${RUBY_ELISPDIR}/.keep_me
|
|
${MKDIR} ${RUBY_EXAMPLESDIR}
|
|
${TOUCH} ${RUBY_EXAMPLESDIR}/.keep_me
|
|
${MKDIR} ${RUBY_DOCDIR}
|
|
${TOUCH} ${RUBY_DOCDIR}/.keep_me
|
|
.if !defined(NOPORTDOCS)
|
|
${INSTALL_DATA} ${WRKSRC}/sample/* ${RUBY_EXAMPLESDIR}
|
|
${MKDIR} ${RUBY_EXAMPLESDIR}/curses
|
|
${INSTALL_DATA} ${WRKSRC}/ext/curses/hello.rb ${WRKSRC}/ext/curses/rain.rb ${WRKSRC}/ext/curses/view.rb ${RUBY_EXAMPLESDIR}/curses
|
|
${MKDIR} ${RUBY_EXAMPLESDIR}/pty
|
|
${INSTALL_DATA} ${WRKSRC}/ext/pty/expect_sample.rb ${WRKSRC}/ext/pty/script.rb ${WRKSRC}/ext/pty/shl.rb ${RUBY_EXAMPLESDIR}/pty
|
|
${INSTALL_DATA} ${WRKSRC}/COPYING* ${RUBY_DOCDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/LEGAL ${RUBY_DOCDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/README* ${RUBY_DOCDIR}
|
|
${MKDIR} ${RUBY_DOCDIR}/digest
|
|
${INSTALL_DATA} ${WRKSRC}/ext/digest/digest.txt* ${RUBY_DOCDIR}/digest
|
|
${MKDIR} ${RUBY_DOCDIR}/etc
|
|
${INSTALL_DATA} ${WRKSRC}/ext/etc/etc.txt* ${RUBY_DOCDIR}/etc
|
|
${MKDIR} ${RUBY_DOCDIR}/pty
|
|
${INSTALL_DATA} ${WRKSRC}/ext/pty/README* ${RUBY_DOCDIR}/pty
|
|
${MKDIR} ${RUBY_DOCDIR}/readline
|
|
${INSTALL_DATA} ${WRKSRC}/ext/readline/README* ${RUBY_DOCDIR}/readline
|
|
${MKDIR} ${RUBY_DOCDIR}/syslog
|
|
${INSTALL_DATA} ${WRKSRC}/ext/syslog/syslog.txt ${RUBY_DOCDIR}/syslog
|
|
${CP} -R ${WRKSRC}/doc/* ${RUBY_DOCDIR}/
|
|
.endif
|
|
@${ECHO} "Deinstalling obsoleted packages that are now part of ruby..."
|
|
@cd ${PKG_DBDIR}; for portname in ${OBSOLETED_MODULES}; do \
|
|
for pkg in ${RUBY_PKGNAMEPREFIX}$$portname-*; do \
|
|
if [ -d $$pkg ]; then \
|
|
${ECHO} "---> $$pkg"; \
|
|
${PKG_DELETE} -f $$pkg; \
|
|
fi; \
|
|
done; \
|
|
done
|
|
@${ECHO_CMD} "@exec ${ECHO_CMD} \"Deinstalling obsoleted packages that are now part of ruby...\"" >> ${TMPPLIST}
|
|
@${ECHO_CMD} "@exec cd ${PKG_DBDIR} && for portname in ${OBSOLETED_MODULES}; do for pkg in ${RUBY_PKGNAMEPREFIX}\$$portname-*; do if [ -d \$$pkg ]; then ${ECHO_CMD} \"---> \$$pkg\"; ${PKG_DELETE} -f \$$pkg; fi; done; done" >> ${TMPPLIST}
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
test:
|
|
@(cd ${WRKSRC}; ${MAKE} test)
|
|
|
|
.include <bsd.port.post.mk>
|