Changeset View
Standalone View
www/rubygem-passenger/Makefile
Show All 13 Lines | |||||
LICENSE= MIT | LICENSE= MIT | ||||
LICENSE_FILE= ${WRKSRC}/LICENSE | LICENSE_FILE= ${WRKSRC}/LICENSE | ||||
BUILD_DEPENDS= rake:devel/rubygem-rake | BUILD_DEPENDS= rake:devel/rubygem-rake | ||||
CPE_VENDOR= phusion | CPE_VENDOR= phusion | ||||
CPE_PRODUCT= passenger | CPE_PRODUCT= passenger | ||||
FLAVOR?= ${FLAVORS:[1]} | |||||
ultima: I don't think this is required. The handbook is showing this to describe how the first flavor… | |||||
Not Done Inline ActionsThis should be after the FLAVORS line. The first FLAVOR in the FLAVORS line determines the default FLAVOR. Yes, thank you. dvl: This should be after the FLAVORS line. The first FLAVOR in the FLAVORS line determines the… | |||||
Not Done Inline ActionsThe handbook was written after I added the Python flavors and before flavors were added to other ports. Setting FLAVOR makes it possible to avoid using ${FLAVOR:U${FLAVORS:[1]} everywhere we need to test the flavor. mat: The handbook was written after I added the Python flavors and before flavors were added to… | |||||
matUnsubmitted Done Inline ActionsMove this variable below the FLAVORS variable. mat: Move this variable below the FLAVORS variable. | |||||
FLAVORS= apache nginx | |||||
apache_PKGNAMESUFFIX= -apache | |||||
nginx_PKGNAMESUFFIX= -nginx | |||||
OPTIONS_DEFINE= DEBUG SYMLINK | OPTIONS_DEFINE= DEBUG SYMLINK | ||||
OPTIONS_SINGLE= SERVER | OPTIONS_EXCLUDE=DOCS | ||||
Not Done Inline ActionsI'm not seeing DOCS being a option, why is it being excluded? ultima: I'm not seeing DOCS being a option, why is it being excluded? | |||||
Not Done Inline ActionsThere was a bug in the build system which caused DOCS to be built. This is a workaround. dvl: There was a bug in the build system which caused DOCS to be built. This is a workaround.
See… | |||||
OPTIONS_SINGLE_SERVER= APACHE22 NGINX | |||||
APACHE22_DESC= Build with apache22 support | |||||
NGINX_DESC= Build with nginx support | |||||
SYMLINK_DESC= Create passenger symlink | SYMLINK_DESC= Create passenger symlink | ||||
OPTIONS_DEFAULT= APACHE22 | |||||
.if ${FLAVOR} == apache | |||||
USE_APACHE= 22+ | |||||
.endif | |||||
.if ${FLAVOR} == nginx | |||||
# nothing yet. | |||||
.endif | |||||
Not Done Inline ActionsThe only change related to slave ports dvl: The only change related to slave ports | |||||
matUnsubmitted Done Inline ActionsRemove this. mat: Remove this. | |||||
USE_RUBY= yes | USE_RUBY= yes | ||||
RAKE_BIN= ${LOCALBASE}/bin/rake | RAKE_BIN= ${LOCALBASE}/bin/rake | ||||
USES= cpe gem libtool python:env shebangfix ssl | USES= cpe gem libtool python:env shebangfix ssl | ||||
SHEBANG_FILES= \ | SHEBANG_FILES= \ | ||||
Not Done Inline ActionsThis fixes SHEBANG issue with src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py dvl: This fixes SHEBANG issue with src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py | |||||
src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py \ | src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py \ | ||||
dev/vagrant/nginx_start \ | dev/vagrant/nginx_start \ | ||||
dev/vagrant/provision.sh \ | dev/vagrant/provision.sh \ | ||||
dev/ci/run-tests-with-docker \ | dev/ci/run-tests-with-docker \ | ||||
dev/ci/tests/debian/run \ | dev/ci/tests/debian/run \ | ||||
dev/ci/tests/rpm/run \ | dev/ci/tests/rpm/run \ | ||||
Not Done Inline ActionsThese two lines fix SHEBANG issues. https://poudriere.mouf.net/lrrr/poudriere/data/head-amd64-default/2018-01-12_14h28m28s/logs/rubygem-passenger-5.1.12.log dvl: These two lines fix SHEBANG issues. https://poudriere.mouf.net/lrrr/poudriere/data/head-amd64… | |||||
Not Done Inline ActionsGreat, this has annoyed me for a while, I fixed this upstream but this has not been released yet. Patching will therefore become useless in the future, but for now, thanks for fixing this! romain: Great, this has annoyed me for a while, I fixed this upstream but this has not been released… | |||||
dev/ci/scripts/setup-host-natively.sh \ | dev/ci/scripts/setup-host-natively.sh \ | ||||
dev/ci/scripts/docker-entrypoint-stage2.sh \ | dev/ci/scripts/docker-entrypoint-stage2.sh \ | ||||
dev/ci/scripts/inituidgid \ | dev/ci/scripts/inituidgid \ | ||||
dev/ci/scripts/debug-console-wrapper.sh \ | dev/ci/scripts/debug-console-wrapper.sh \ | ||||
dev/ci/scripts/run-tests-natively-stage2.sh \ | dev/ci/scripts/run-tests-natively-stage2.sh \ | ||||
dev/ci/scripts/docker-entrypoint.sh \ | dev/ci/scripts/docker-entrypoint.sh \ | ||||
dev/ci/run-tests-natively \ | dev/ci/run-tests-natively \ | ||||
dev/ci/setup-host | dev/ci/setup-host | ||||
APACHE22_USE= APACHE=22+ | |||||
LIB_DEPENDS+= libuv.so:devel/libuv \ | LIB_DEPENDS+= libuv.so:devel/libuv \ | ||||
libcurl.so:ftp/curl \ | libcurl.so:ftp/curl \ | ||||
libunwind.so:devel/libunwind \ | libunwind.so:devel/libunwind \ | ||||
libapr-1.so:devel/apr1 | libapr-1.so:devel/apr1 | ||||
BUILD_DEPENDS+= rubygem-rack16>=0:www/rubygem-rack16 | BUILD_DEPENDS+= rubygem-rack16>=0:www/rubygem-rack16 | ||||
RUN_DEPENDS:= ${BUILD_DEPENDS} | RUN_DEPENDS:= ${BUILD_DEPENDS} | ||||
SUB_LIST+= GEM_LIB_DIR=${GEM_LIB_DIR} RUBY=${RUBY} | SUB_LIST+= GEM_LIB_DIR=${GEM_LIB_DIR} RUBY=${RUBY} | ||||
SUB_FILES= pkg-message | SUB_FILES= pkg-message | ||||
PLIST_DIRS= ${GEM_LIB_DIR}/buildout/common/libboost_oxt/boost \ | |||||
${GEM_LIB_DIR}/buildout/common/libboost_oxt/oxt \ | |||||
${GEM_LIB_DIR}/buildout/common/libpassenger_common/DataStructures \ | |||||
${GEM_LIB_DIR}/buildout/common/libpassenger_common/MemoryKit \ | |||||
${GEM_LIB_DIR}/buildout/common/libpassenger_common/ServerKit \ | |||||
${GEM_LIB_DIR}/buildout/common/libpassenger_common/Utils \ | |||||
${GEM_LIB_DIR}/buildout/common/libpassenger_common/vendor-modified \ | |||||
${GEM_LIB_DIR}/download_cache | |||||
PLIST_FILES= bin/passenger \ | PLIST_FILES= bin/passenger \ | ||||
bin/passenger-config \ | bin/passenger-config \ | ||||
bin/passenger-install-apache2-module \ | bin/passenger-install-apache2-module \ | ||||
bin/passenger-memory-stats \ | bin/passenger-memory-stats \ | ||||
bin/passenger-status \ | bin/passenger-status \ | ||||
bin/passenger-install-nginx-module | bin/passenger-install-nginx-module | ||||
SYMLINK_PLIST_FILES= ${GEMS_DIR}/${PORTNAME} | SYMLINK_PLIST_FILES= ${GEMS_DIR}/${PORTNAME} | ||||
SYMLINK_SUB_LIST= PASSENGER_INSTALL_DIR="${PREFIX}/${GEMS_DIR}/${PORTNAME}" | SYMLINK_SUB_LIST= PASSENGER_INSTALL_DIR="${PREFIX}/${GEMS_DIR}/${PORTNAME}" | ||||
SYMLINK_SUB_LIST_OFF= PASSENGER_INSTALL_DIR="${PREFIX}/${GEM_LIB_DIR}" | SYMLINK_SUB_LIST_OFF= PASSENGER_INSTALL_DIR="${PREFIX}/${GEM_LIB_DIR}" | ||||
pre-patch: | pre-patch: | ||||
.if ${FLAVOR} == nginx | |||||
@${ECHO_CMD} | |||||
@${ECHO_CMD} "Do not forget compile www/nginx" | |||||
@${ECHO_CMD} "with PASSENGER_MODULE support" | |||||
@${ECHO_CMD} | |||||
.endif | |||||
Not Done Inline ActionsThis maybe an opportunity to create a flavor for nginx that enabled this module. Thoughts? ultima: This maybe an opportunity to create a flavor for nginx that enabled this module. Thoughts? | |||||
Not Done Inline ActionsI think that's outside scope for what we are doing today. dvl: I think that's outside scope for what we are doing today. | |||||
@${REINPLACE_CMD} \ | @${REINPLACE_CMD} \ | ||||
's!-Wall!!g; \ | 's!-Wall!!g; \ | ||||
s!gcc!${CC}!g; \ | s!gcc!${CC}!g; \ | ||||
s!g++!${CXX}!g; \ | s!g++!${CXX}!g; \ | ||||
s!#{PlatformInfo.debugging_cflags}!${CFLAGS}!g; \ | s!#{PlatformInfo.debugging_cflags}!${CFLAGS}!g; \ | ||||
s!-O2!!g; \ | s!-O2!!g; \ | ||||
s! -feliminate-unused-debug-symbols -feliminate-unused-debug-types!!g; \ | s! -feliminate-unused-debug-symbols -feliminate-unused-debug-types!!g; \ | ||||
155s!true!false!' \ | 155s!true!false!' \ | ||||
${WRKSRC}/build/basics.rb | ${WRKSRC}/build/basics.rb | ||||
@${REINPLACE_CMD} '1s:python:python2:' \ | @${REINPLACE_CMD} '1s:python:python2:' \ | ||||
${WRKSRC}/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py | ${WRKSRC}/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py | ||||
pre-patch-DEBUG-off: | pre-patch-DEBUG-off: | ||||
@${REINPLACE_CMD} \ | @${REINPLACE_CMD} \ | ||||
's!-DPASSENGER_DEBUG!-DNDEBUG!g' \ | 's!-DPASSENGER_DEBUG!-DNDEBUG!g' \ | ||||
${WRKSRC}/build/basics.rb | ${WRKSRC}/build/basics.rb | ||||
pre-patch-NGINX-on: | |||||
@${ECHO_CMD} | |||||
@${ECHO_CMD} "Do not forget compile www/nginx" | |||||
@${ECHO_CMD} "with PASSENGER_MODULE support" | |||||
@${ECHO_CMD} | |||||
post-build: | post-build: | ||||
${FIND} ${WRKSRC} -name '*.o' -delete | .if ${FLAVOR} == apache | ||||
${FIND} ${WRKSRC} -name '*.bak' -delete | |||||
post-build-APACHE22-on: | |||||
(CC=${CC} CXX=${CXX} ${WRKSRC}/bin/passenger-install-apache2-module --auto) | (CC=${CC} CXX=${CXX} ${WRKSRC}/bin/passenger-install-apache2-module --auto) | ||||
.endif | |||||
post-build-NGINX-on: | .if ${FLAVOR} == nginx | ||||
(cd ${WRKSRC} && CC=${CC} CXX=${CXX} ${RAKE_BIN} nginx) | (cd ${WRKSRC} && CC=${CC} CXX=${CXX} ${RAKE_BIN} nginx) | ||||
.endif | |||||
Not Done Inline ActionsThis is changing from ${RAKE_BIN} nginx, can you please explain this change? ultima: This is changing from ${RAKE_BIN} nginx, can you please explain this change? | |||||
Not Done Inline ActionsThe upstream docs say you're only supposed to build the nginx module this way. It has extra safetybelts before it runs: env NOEXEC_DISABLE=1 #{PlatformInfo.rake_command} nginx:clean nginx RELEASE=yes feld: The upstream docs say you're only supposed to build the nginx module this way. It has extra… | |||||
${FIND} ${WRKSRC} -name '*.o' -delete | |||||
${FIND} ${WRKSRC} -name '*.bak' -delete | |||||
post-install: | post-install: | ||||
( cd ${WRKSRC} && \ | ( cd ${WRKSRC} && \ | ||||
${COPYTREE_SHARE} buildout ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}-${PORTVERSION} ) | ${COPYTREE_SHARE} buildout ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}-${PORTVERSION} ) | ||||
${CHMOD} +x ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME}-${PORTVERSION}/buildout/support-binaries/* | ${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/ruby/*/passenger_native_support.so | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/support-binaries/PassengerAgent | ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/support-binaries/PassengerAgent | ||||
${FIND} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR} -type d -empty -delete | |||||
post-install-APACHE22-on: | .if ${FLAVOR} == apache | ||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/apache2/mod_passenger.so | ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/apache2/mod_passenger.so | ||||
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR} | |||||
${INSTALL} -lrs ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/buildout/apache2/mod_passenger.so ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/mod_passenger.so | |||||
@${ECHO} "${APACHEMODDIR}/mod_passenger.so" >> ${TMPPLIST} | |||||
.endif | |||||
post-install-SYMLINK-on: | post-install-SYMLINK-on: | ||||
${LN} -s ${GEM_NAME} ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME} | ${LN} -s ${GEM_NAME} ${STAGEDIR}${PREFIX}/${GEMS_DIR}/${PORTNAME} | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |
I don't think this is required. The handbook is showing this to describe how the first flavor is determined.