freebsd-ports/www/rubygem-passenger/Makefile
Muhammad Moinur Rahman 40843b1ccb Mk/Uses/apache.mk: Refactor after removal of older versions
apache22 and apache25 had been removed a long time ago however the
apache.mk file has never been refactored and is out of sync from the
file Mk/bsd.default-versions.mk. These changes refactors the removals of
the older versions. In addition:

- Move some keywords like USE_APACHE, USE_APACHE_BUILD, USE_APACHE_RUN
  from SANITY_DEPRECATED to SANITY_UNSUPPORTED
- Remove apache versions from ports Makefiles as currently there is only
  one available version in the tree. However the version checks are
  still valid and should work flawlessly whenever a new version is
  added. For example USES=apache:2.2+ are simply replaced with
  USES=apache. As currently there are no other versions available for
  test this could not be checked on it's own ground.
- Update FOO_USE=APACHE=yes to FOO_USES=apache
- Remove trailing whitespaces

Approved by:    portmgr
Differential Revision: https://reviews.freebsd.org/D38113
2023-01-25 11:54:07 -06:00

110 lines
3.4 KiB
Makefile

PORTNAME= passenger
PORTVERSION= 6.0.16
CATEGORIES= www rubygems
MASTER_SITES= RG
MAINTAINER= ports@FreeBSD.org
COMMENT= Modules for running Ruby on Rails and Rack applications
WWW= https://www.phusionpassenger.com/
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
.endif
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' -o -name '*.bak' -o -name '*.orig' | ${XARGS} ${RM}
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}/bin/passenger-install-apache2-module \
${STAGEDIR}${PREFIX}/bin/passenger-install-nginx-module
@${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 <bsd.port.mk>