diff options
Diffstat (limited to 'www/rubygem-passenger/Makefile')
-rw-r--r-- | www/rubygem-passenger/Makefile | 114 |
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> |