aboutsummaryrefslogtreecommitdiffstats
path: root/www/cakephp12
diff options
context:
space:
mode:
authorrafan <rafan@FreeBSD.org>2007-04-06 22:30:23 +0800
committerrafan <rafan@FreeBSD.org>2007-04-06 22:30:23 +0800
commit27c983fff1d8d9074b7ce3c78aad696e458bb56b (patch)
tree3cf9d7fdaf52c942f735db1ee482bc7a2b339d96 /www/cakephp12
parent1850ecdda24dc04c399e5078d6e9cdc1eb2537b1 (diff)
downloadfreebsd-ports-graphics-27c983fff1d8d9074b7ce3c78aad696e458bb56b.tar.gz
freebsd-ports-graphics-27c983fff1d8d9074b7ce3c78aad696e458bb56b.tar.zst
freebsd-ports-graphics-27c983fff1d8d9074b7ce3c78aad696e458bb56b.zip
- Add support for PHP running in CGI mode
The location of PHP CGI can be set via WITH_PHP_CGI, e.g. /cgi-bin/php PR: ports/111295 (based on) Submitted by: Greg Larkin <glarkin at sourcehosting.net> (maintainer)
Diffstat (limited to 'www/cakephp12')
-rw-r--r--www/cakephp12/Makefile64
-rw-r--r--www/cakephp12/files/cakephp-development-cgi.conf.in13
-rw-r--r--www/cakephp12/files/cakephp-production-cgi.conf.in13
-rw-r--r--www/cakephp12/files/pkg-message.in3
-rw-r--r--www/cakephp12/pkg-plist4
5 files changed, 71 insertions, 26 deletions
diff --git a/www/cakephp12/Makefile b/www/cakephp12/Makefile
index 860396cbec3..4b2b59fe556 100644
--- a/www/cakephp12/Makefile
+++ b/www/cakephp12/Makefile
@@ -7,6 +7,7 @@
PORTNAME= cakephp
PORTVERSION= 1.1.13.4450
+PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= http://cakeforge.org/frs/download.php/326/
DISTNAME= cake_${PORTVERSION}
@@ -24,10 +25,9 @@ SLAVE_PORT_MODULES= rewrite
NO_BUILD= yes
USE_PHP= pcre session
-WANT_PHP_MOD= yes
+WANT_PHP_WEB= yes
SUB_FILES= pkg-message
-SUB_LIST= DATADIR=${DATADIR}
WRKSRC= ${WRKDIR}/cake_${DISTVERSION}
@@ -36,22 +36,36 @@ OPTIONS= PROD "Install for production server (see: make confighelp)" Off \
PGSQL "Check for/install PostgreSQL support in PHP" Off \
SQLITE "Check for/install SQLite support in PHP" Off
-.if !defined(NOPORTDOCS)
-INSTALL_TARGET= install install-docs
-.endif
+PLIST_SUB+= CONFDIR=${CONFDIR_REL}
+
+CONFDIR= ${PREFIX}/${CONFDIR_REL}
+CONFDIR_REL= ${APACHEETCDIR}/Includes
.include <bsd.port.pre.mk>
+WITH_PHP_CGI?= /cgi-bin/php
+
+.if ${PHP_SAPI:Mcgi} == "cgi" && ${PHP_SAPI:Mmod} == ""
+CGI_EXT= -cgi
+.else
+CGI_EXT=
+.endif
+
DEFAULT_PHP_VER=5
-IGNORE_WITH_PHP=4.0 4.1 4.2 4.3.1
+IGNORE_WITH_PHP=4
+
+SUB_LIST+= PHPCGI=${WITH_PHP_CGI}
.if defined(WITH_PROD)
-SUB_FILES+= cakephp-production.conf
+PROD= production
.else
-SUB_FILES+= cakephp-development.conf
+PROD= development
EXTRA_PATCHES= ${FILESDIR}/development-app-config-core.php.patch
.endif
+CONF= cakephp-${PROD}${CGI_EXT}.conf
+SUB_FILES+= ${CONF}
+
DB_DEFINED= no
.if defined(WITH_MYSQL)
@@ -106,23 +120,31 @@ do-install:
${FIND} ${DATADIR} -type d -print | ${XARGS} -n1 ${CHMOD} 755
post-install:
-.if exists(${PREFIX}/etc/apache2/Includes)
-.if defined(WITH_PROD)
- @${CP} ${WRKDIR}/cakephp-production.conf ${PREFIX}/etc/apache2/Includes/cakephp.conf
-.else
- @${CP} ${WRKDIR}/cakephp-development.conf ${PREFIX}/etc/apache2/Includes/cakephp.conf
-.endif
-.else
- @${ECHO_MSG} ""
- @${ECHO_MSG} "Please check your Apache 2.x installation -"
- @${ECHO_MSG} "${PREFIX}/etc/apache2/Includes doesn't exist,"
- @${ECHO_MSG} "so I cannot install cakephp.conf there!"
- @${ECHO_MSG} ""
-.endif
+ @if [ -d "${CONFDIR}" ]; then \
+ ${CP} ${WRKDIR}/${CONF} ${CONFDIR}/cakephp.conf; \
+ else \
+ ${ECHO_MSG} "" ; \
+ ${ECHO_MSG} "Please check your Apache 2.x installation -" ; \
+ ${ECHO_MSG} "${CONFDIR} doesn't exist," ; \
+ ${ECHO_MSG} "so I cannot install cakephp.conf there!" ; \
+ ${ECHO_MSG} "" ; \
+ ${FALSE} ; \
+ fi
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
@${INSTALL_DATA} ${WRKSRC}/docs/*.txt ${DOCSDIR}
.endif
@${CAT} ${PKGMESSAGE}
+.if ${CGI_EXT} == "-cgi"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "Your CakePHP installation was configured to use the PHP CGI binary."
+ @${ECHO_MSG} "The PHP CGI binary is expected to be referenced by the URL:"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} " ${WITH_PHP_CGI}"
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "If this is incorrect, reinstall the port with the WITH_PHP_CGI knob"
+ @${ECHO_MSG} "set to the correct URL."
+.endif
+ @${ECHO_MSG} "*********************************************************************"
.include <bsd.port.post.mk>
diff --git a/www/cakephp12/files/cakephp-development-cgi.conf.in b/www/cakephp12/files/cakephp-development-cgi.conf.in
new file mode 100644
index 00000000000..b3c5c74af04
--- /dev/null
+++ b/www/cakephp12/files/cakephp-development-cgi.conf.in
@@ -0,0 +1,13 @@
+AddType application/x-httpd-php .php
+AddType application/x-httpd-php-source .phps
+
+Action php-script %%PHPCGI%%
+AddHandler php-script .php
+
+Alias /cakephp %%DATADIR%%
+
+<Location /cakephp>
+ DirectoryIndex index.php
+ Order deny,allow
+ Allow from all
+</Location>
diff --git a/www/cakephp12/files/cakephp-production-cgi.conf.in b/www/cakephp12/files/cakephp-production-cgi.conf.in
new file mode 100644
index 00000000000..8565f628635
--- /dev/null
+++ b/www/cakephp12/files/cakephp-production-cgi.conf.in
@@ -0,0 +1,13 @@
+AddType application/x-httpd-php .php
+AddType application/x-httpd-php-source .phps
+
+Action php-script %%PHPCGI%%
+AddHandler php-script .php
+
+DocumentRoot %%DATADIR%%/app/webroot
+
+<Location />
+ DirectoryIndex index.php
+ Order deny,allow
+ Allow from all
+</Location>
diff --git a/www/cakephp12/files/pkg-message.in b/www/cakephp12/files/pkg-message.in
index 8a4d8281a5e..5175204423d 100644
--- a/www/cakephp12/files/pkg-message.in
+++ b/www/cakephp12/files/pkg-message.in
@@ -7,6 +7,5 @@ and making a donation to the development effort.
Note that you should restart your Apache web server to ensure that
the CakePHP configuration file is loaded.
-Finally, be sure to check %%DATADIR%%/app/config/core.php for
+Be sure to check %%DATADIR%%/app/config/core.php for
additional framework configuration options.
-*********************************************************************
diff --git a/www/cakephp12/pkg-plist b/www/cakephp12/pkg-plist
index 9db52a3047c..0db1a81580a 100644
--- a/www/cakephp12/pkg-plist
+++ b/www/cakephp12/pkg-plist
@@ -143,9 +143,7 @@
%%PORTDOCS%%@dirrm %%DOCSDIR%%
%%DATADIR%%/index.php
%%DATADIR%%/.htaccess
-etc/apache2/Includes/cakephp.conf
-share/nls/POSIX
-share/nls/en_US.US-ASCII
+%%CONFDIR%%/cakephp.conf
@exec mkdir -p %D/%%DATADIR%%/vendors
@exec mkdir -p %D/%%DATADIR%%/cake/scripts/templates/skel/webroot/files
@exec mkdir -p %D/%%DATADIR%%/cake/scripts/templates/skel/views/pages