diff --git a/www/rubygem-passenger/Makefile b/www/rubygem-passenger/Makefile index 0ac772b56460..72c12195fb04 100644 --- a/www/rubygem-passenger/Makefile +++ b/www/rubygem-passenger/Makefile @@ -1,110 +1,112 @@ # Created by: Jacob Atzen PORTNAME= passenger PORTVERSION= 6.0.12 CATEGORIES= www rubygems MASTER_SITES= RG +PATCH_SITES= https://github.com/phusion/passenger/commit/ +PATCHFILES= 4c8d0a1316000db93eb4484480b2e14188560e14.patch:-p1 MAINTAINER= osa@FreeBSD.org COMMENT= Modules for running Ruby on Rails and Rack applications LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= rake:devel/rubygem-rake CPE_VENDOR= phusion CPE_PRODUCT= passenger FLAVORS= apache nginx FLAVOR?= ${FLAVORS:[1]} apache_PKGNAMESUFFIX= -apache nginx_PKGNAMESUFFIX= -nginx apache_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME}-nginx nginx_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME}-apache 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_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-build: .if ${FLAVOR} == apache (CC=${CC} CXX=${CXX} ${WRKSRC}/bin/passenger-install-apache2-module --auto) .endif .if ${FLAVOR} == nginx (cd ${WRKSRC} && CC=${CC} CXX=${CXX} ${RAKE_BIN} nginx) .endif ${FIND} ${WRKSRC} -name '*.o' -delete ${FIND} ${WRKSRC} -name '*.bak' -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/* ${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 .if ${FLAVOR} == apache ${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} .endif @${RM} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/bin/passenger-install-apache2-module \ ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/bin/passenger-install-nginx-module post-install-SYMLINK-on: ${LN} -s ${GEM_NAME} ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME} .include diff --git a/www/rubygem-passenger/distinfo b/www/rubygem-passenger/distinfo index 5ba0e57a61df..472e79baf132 100644 --- a/www/rubygem-passenger/distinfo +++ b/www/rubygem-passenger/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1638983871 +TIMESTAMP = 1639239547 SHA256 (rubygem/passenger-6.0.12.gem) = d0416639cedc9157044783266f6782a6ff61a84ca31a54b823a215501c6c1c01 SIZE (rubygem/passenger-6.0.12.gem) = 8118784 +SHA256 (rubygem/4c8d0a1316000db93eb4484480b2e14188560e14.patch) = 55d5a825a27c64978bea524293c694b53c207976be241aaee679623e43969101 +SIZE (rubygem/4c8d0a1316000db93eb4484480b2e14188560e14.patch) = 10527 diff --git a/www/rubygem-passenger/files/patch-aligned_alloc.hpp b/www/rubygem-passenger/files/patch-aligned_alloc.hpp new file mode 100644 index 000000000000..09e8c4723597 --- /dev/null +++ b/www/rubygem-passenger/files/patch-aligned_alloc.hpp @@ -0,0 +1,55 @@ +--- /dev/null 2021-12-11 11:24:33.892890000 -0500 ++++ src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp 2021-12-10 13:34:33.000000000 -0500 +@@ -0,0 +1,52 @@ ++/* ++Copyright 2014-2015 Glen Joseph Fernandes ++(glenjofe@gmail.com) ++ ++Distributed under the Boost Software License, Version 1.0. ++(http://www.boost.org/LICENSE_1_0.txt) ++*/ ++#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP ++#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP ++ ++#include ++#include ++#include ++#include ++#include ++ ++namespace boost { ++namespace alignment { ++ ++inline void* ++aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT ++{ ++ BOOST_ASSERT(detail::is_alignment(alignment)); ++ enum { ++ N = alignment_of::value ++ }; ++ if (alignment < N) { ++ alignment = N; ++ } ++ std::size_t n = size + alignment - N; ++ void* p = std::malloc(sizeof(void*) + n); ++ if (p) { ++ void* r = static_cast(p) + sizeof(void*); ++ (void)boost::alignment::align(alignment, size, r, n); ++ *(static_cast(r) - 1) = p; ++ p = r; ++ } ++ return p; ++} ++ ++inline void ++aligned_free(void* ptr) BOOST_NOEXCEPT ++{ ++ if (ptr) { ++ std::free(*(static_cast(ptr) - 1)); ++ } ++} ++ ++} /* alignment */ ++} /* boost */ ++ ++#endif