aboutsummaryrefslogtreecommitdiff
path: root/www/rubygem-passenger/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'www/rubygem-passenger/Makefile')
-rw-r--r--www/rubygem-passenger/Makefile114
1 files changed, 50 insertions, 64 deletions
diff --git a/www/rubygem-passenger/Makefile b/www/rubygem-passenger/Makefile
index dbbb778133c7..7e74c1cc339d 100644
--- a/www/rubygem-passenger/Makefile
+++ b/www/rubygem-passenger/Makefile
@@ -1,20 +1,42 @@
-# Created by: Jacob Atzen <jatzen@gmail.com>
-
PORTNAME= passenger
-PORTVERSION= 6.0.8
+PORTVERSION= 6.0.20
CATEGORIES= www rubygems
MASTER_SITES= RG
-MAINTAINER= osa@FreeBSD.org
+MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Modules for running Ruby on Rails and Rack applications
+WWW= https://www.phusionpassenger.com/ \
+ https://github.com/phusion/passenger
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= rake:devel/rubygem-rake
+BUILD_DEPENDS= rubygem-rack>=0:www/rubygem-rack \
+ rubygem-rake>=0.8.1:devel/rubygem-rake \
+ utf8cpp>=4.0.3:devel/utf8cpp
+LIB_DEPENDS= libapr-1.so:devel/apr1 \
+ libcurl.so:ftp/curl \
+ libuv.so:devel/libuv
+RUN_DEPENDS= rubygem-etc>=0:devel/rubygem-etc \
+ rubygem-rack>=0:www/rubygem-rack \
+ rubygem-rake>=0.8.1:devel/rubygem-rake
+
+USES= compiler:c++11-lang cpe gem libtool python:env ssl
+
+CXXFLAGS+= -I${LOCALBASE}/include/utf8cpp
+USE_CXXSTD= c++14
+
+PLIST_FILES= bin/passenger \
+ bin/passenger-config \
+ bin/passenger-memory-stats \
+ bin/passenger-status
+
+SUB_FILES= pkg-message-${FLAVOR}
+SUB_LIST= GEM_LIB_DIR=${GEM_LIB_DIR} RUBY=${RUBY}
+
+CONFLICTS_INSTALL= rubygem-passenger-apache rubygem-passenger-nginx
CPE_VENDOR= phusion
-CPE_PRODUCT= passenger
FLAVORS= apache nginx
FLAVOR?= ${FLAVORS:[1]}
@@ -22,76 +44,40 @@ FLAVOR?= ${FLAVORS:[1]}
apache_PKGNAMESUFFIX= -apache
nginx_PKGNAMESUFFIX= -nginx
-apache_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME}-nginx
-nginx_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME}-apache
+.if ${FLAVOR} == apache
+USES+= apache
+.endif
OPTIONS_DEFINE= DEBUG SYMLINK
OPTIONS_DEFAULT=SYMLINK
OPTIONS_EXCLUDE=DOCS
SYMLINK_DESC= Create passenger symlink
-.if ${FLAVOR} == apache
-USES+= apache:2.2+
-.endif
-
-USE_RUBY= yes
-RAKE_BIN= ${LOCALBASE}/bin/rake
-USES+= compiler:c++11-lang cpe gem libtool python:env shebangfix ssl
-SHEBANG_FILES= src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py
-
-LIB_DEPENDS+= libuv.so:devel/libuv \
- libcurl.so:ftp/curl \
- libapr-1.so:devel/apr1
-
-BUILD_DEPENDS+= rubygem-rack>=0:www/rubygem-rack
-RUN_DEPENDS:= ${BUILD_DEPENDS} \
- rubygem-etc>=0:devel/rubygem-etc
-
-SUB_LIST+= GEM_LIB_DIR=${GEM_LIB_DIR} RUBY=${RUBY}
-SUB_FILES= pkg-message-${FLAVOR}
-
-PLIST_FILES= bin/passenger \
- bin/passenger-config \
- bin/passenger-memory-stats \
- bin/passenger-status
-
-SYMLINK_PLIST_FILES= ${GEMS_DIR}/${PORTNAME}
-SYMLINK_SUB_LIST= PASSENGER_INSTALL_DIR="${PREFIX}/${GEMS_DIR}/${PORTNAME}"
+SYMLINK_PLIST_FILES= ${GEMS_DIR}/passenger
+SYMLINK_SUB_LIST= PASSENGER_INSTALL_DIR="${PREFIX}/${GEMS_DIR}/passenger"
SYMLINK_SUB_LIST_OFF= PASSENGER_INSTALL_DIR="${PREFIX}/${GEM_LIB_DIR}"
-pre-patch:
- @${REINPLACE_CMD} \
- 's!-Wall!!g; \
- s!gcc!${CC}!g; \
- s!g++!${CXX}!g; \
- s!#{PlatformInfo.debugging_cflags}!${CFLAGS}!g; \
- s!-O2!!g; \
- s! -feliminate-unused-debug-symbols -feliminate-unused-debug-types!!g; \
- 170s!true!false!' \
- ${WRKSRC}/build/basics.rb
- @${REINPLACE_CMD} '1s:python:python2:' \
- ${WRKSRC}/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py
-
-pre-patch-DEBUG-off:
- @${REINPLACE_CMD} \
- 's!-DPASSENGER_DEBUG!-DNDEBUG!g' \
- ${WRKSRC}/build/basics.rb
+post-patch:
+# Clean up bundled libraries
+ @${REINPLACE_CMD} 's|"src/cxx_supportlib/vendor-copy/[lu][^"]*".freeze, ||g' ${WRKSRC}/passenger.gemspec
+ @${RM} -r ${WRKSRC}/src/cxx_supportlib/vendor-copy/libuv/
+ @${RM} -r ${WRKSRC}/src/cxx_supportlib/vendor-copy/utf8*
+
+post-patch-DEBUG-off:
+ @${REINPLACE_CMD} 's|-DPASSENGER_DEBUG|-DNDEBUG|g' ${WRKSRC}/build/basics.rb
post-build:
.if ${FLAVOR} == apache
- (CC=${CC} CXX=${CXX} ${WRKSRC}/bin/passenger-install-apache2-module --auto)
+ ${SETENV} CC=${CC} CXX=${CXX} EXTRA_CXXFLAGS="${CXXFLAGS}" USE_VENDORED_LIBUV=false ${WRKSRC}/bin/passenger-install-apache2-module --auto
.endif
-
.if ${FLAVOR} == nginx
- (cd ${WRKSRC} && CC=${CC} CXX=${CXX} ${RAKE_BIN} nginx)
+ cd ${WRKSRC} && ${SETENV} CC=${CC} CXX=${CXX} EXTRA_CXXFLAGS="${CXXFLAGS}" USE_VENDORED_LIBUV=false ${LOCALBASE}/bin/rake nginx
.endif
- ${FIND} ${WRKSRC} -name '*.o' -delete
- ${FIND} ${WRKSRC} -name '*.bak' -delete
+ ${FIND} ${WRKSRC} -name '*.bak' -o -name '*.o' -o -name '*.orig' -delete
post-install:
- ( cd ${WRKSRC} && \
- ${COPYTREE_SHARE} buildout ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}-${PORTVERSION} )
- ${CHMOD} +x ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}-${PORTVERSION}/buildout/support-binaries/*
+ cd ${WRKSRC} && ${COPYTREE_SHARE} buildout ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/
+ ${CHMOD} +x ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/support-binaries/*
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/ruby/*/passenger_native_support.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/support-binaries/PassengerAgent
${FIND} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR} -type d -empty -delete
@@ -99,12 +85,12 @@ post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/apache2/mod_passenger.so
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
${LN} -sf ../../${GEM_LIB_DIR}/buildout/apache2/mod_passenger.so ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/mod_passenger.so
- @${ECHO} "${APACHEMODDIR}/mod_passenger.so" >> ${TMPPLIST}
+ @${ECHO_CMD} "${APACHEMODDIR}/mod_passenger.so" >> ${TMPPLIST}
.endif
- @${RM} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/bin/passenger-install-apache2-module \
- ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/bin/passenger-install-nginx-module
+ ${RM} ${STAGEDIR}${PREFIX}/bin/passenger-install-apache2-module ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/bin/passenger-install-apache2-module
+ ${RM} ${STAGEDIR}${PREFIX}/bin/passenger-install-nginx-module ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/bin/passenger-install-nginx-module
post-install-SYMLINK-on:
- ${LN} -s ${GEM_NAME} ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}
+ ${LN} -s ${GEM_NAME} ${STAGEDIR}${PREFIX}/${GEMS_DIR}/passenger
.include <bsd.port.mk>