diff options
Diffstat (limited to 'dev-lang/php/files')
-rw-r--r-- | dev-lang/php/files/20php5-envd | 2 | ||||
-rw-r--r-- | dev-lang/php/files/all_mysql_socket_location-gentoo.patch | 13 | ||||
-rw-r--r-- | dev-lang/php/files/all_strict_aliasing.patch | 14 | ||||
-rw-r--r-- | dev-lang/php/files/bison_any_version.patch | 16 | ||||
-rw-r--r-- | dev-lang/php/files/bison_build_2.patch | 29 | ||||
-rw-r--r-- | dev-lang/php/files/bison_build_2a.patch | 30 | ||||
-rw-r--r-- | dev-lang/php/files/fix-libstdc++-underlinking.patch | 10 | ||||
-rw-r--r-- | dev-lang/php/files/freetype-2.5.1-linking-fix.patch | 64 | ||||
-rw-r--r-- | dev-lang/php/files/iodbc-pkgconfig-r1.patch | 52 | ||||
-rw-r--r-- | dev-lang/php/files/iodbc-pkgconfig.patch | 52 | ||||
-rw-r--r-- | dev-lang/php/files/missing-openssl-include.patch | 14 | ||||
-rw-r--r-- | dev-lang/php/files/php-fpm-r1.conf | 311 | ||||
-rwxr-xr-x | dev-lang/php/files/php-fpm-r4.init | 47 | ||||
-rw-r--r-- | dev-lang/php/files/php-fpm_at-simple.service | 13 | ||||
-rw-r--r-- | dev-lang/php/files/php-fpm_at.service | 14 | ||||
-rw-r--r-- | dev-lang/php/files/php-libvpx.patch | 24 | ||||
-rw-r--r-- | dev-lang/php/files/php5-ldvs | 1 | ||||
-rw-r--r-- | dev-lang/php/files/stricter-libc-client-symlink-check.patch | 15 |
18 files changed, 721 insertions, 0 deletions
diff --git a/dev-lang/php/files/20php5-envd b/dev-lang/php/files/20php5-envd new file mode 100644 index 00000000..f6033ae5 --- /dev/null +++ b/dev-lang/php/files/20php5-envd @@ -0,0 +1,2 @@ +MANPATH="/usr/lib/php5/man/" +CONFIG_PROTECT_MASK="/etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/" diff --git a/dev-lang/php/files/all_mysql_socket_location-gentoo.patch b/dev-lang/php/files/all_mysql_socket_location-gentoo.patch new file mode 100644 index 00000000..bd179986 --- /dev/null +++ b/dev-lang/php/files/all_mysql_socket_location-gentoo.patch @@ -0,0 +1,13 @@ +diff -u a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c +--- a/ext/mysqlnd/mysqlnd.c 2010-10-22 17:46:26.000000000 +0200 ++++ b/ext/mysqlnd/mysqlnd.c 2010-12-08 21:54:47.000000000 +0100 +@@ -619,7 +619,8 @@ + if (host_len == sizeof("localhost") - 1 && !strncasecmp(host, "localhost", host_len)) { + DBG_INF_FMT("socket=%s", socket_or_pipe? socket_or_pipe:"n/a"); + if (!socket_or_pipe) { +- socket_or_pipe = "/tmp/mysql.sock"; ++ // gentoo mysql default socket location ++ socket_or_pipe = "/var/run/mysqld/mysqld.sock"; + } + transport_len = spprintf(&transport, 0, "unix://%s", socket_or_pipe); + unix_socket = TRUE; diff --git a/dev-lang/php/files/all_strict_aliasing.patch b/dev-lang/php/files/all_strict_aliasing.patch new file mode 100644 index 00000000..cfa60908 --- /dev/null +++ b/dev-lang/php/files/all_strict_aliasing.patch @@ -0,0 +1,14 @@ +upstream bug: http://bugs.php.net/bug.php?id=46311 +The current patch follows a suggestion from Siarhei Siamashka +Adapted for php 5.5 +--- Zend/zend_execute.h.old 2013-01-01 13:49:04.587825704 +0100 ++++ Zend/zend_execute.h 2013-01-01 13:53:28.762958578 +0100 +@@ -293,7 +293,7 @@ + void **end = p - (int)(zend_uintptr_t)*p; + + while (p != end) { +- zval *q = *(zval **)(--p); ++ zval *q = (zval *)*(--p); + *p = NULL; + i_zval_ptr_dtor(q ZEND_FILE_LINE_CC); + } diff --git a/dev-lang/php/files/bison_any_version.patch b/dev-lang/php/files/bison_any_version.patch new file mode 100644 index 00000000..94271e51 --- /dev/null +++ b/dev-lang/php/files/bison_any_version.patch @@ -0,0 +1,16 @@ +--- ./Zend/acinclude.m4 2013-03-20 15:09:27.000000000 +0100 ++++ ./Zend/acinclude.m4.new 2013-03-25 21:35:27.654016588 +0100 +@@ -17,12 +17,7 @@ + if test -n "$bison_version_vars"; then + set $bison_version_vars + bison_version="${1}.${2}" +- for bison_check_version in $bison_version_list; do +- if test "$bison_version" = "$bison_check_version"; then +- php_cv_bison_version="$bison_check_version (ok)" +- break +- fi +- done ++ php_cv_bison_version="$bison_version (ok)" + fi + ]) + fi diff --git a/dev-lang/php/files/bison_build_2.patch b/dev-lang/php/files/bison_build_2.patch new file mode 100644 index 00000000..dd2481df --- /dev/null +++ b/dev-lang/php/files/bison_build_2.patch @@ -0,0 +1,29 @@ +diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y +index ccbc9b1..6a9a24a 100644 +--- a/Zend/zend_language_parser.y ++++ b/Zend/zend_language_parser.y +@@ -41,17 +41,19 @@ static YYSIZE_T zend_yytnamerr(char*, const char*); + + #define YYERROR_VERBOSE + #define YYSTYPE znode +-#ifdef ZTS +-# define YYPARSE_PARAM tsrm_ls +-# define YYLEX_PARAM tsrm_ls +-#endif +- + + %} + + %pure_parser + %expect 3 + ++%code requires { ++#ifdef ZTS ++# define YYPARSE_PARAM tsrm_ls ++# define YYLEX_PARAM tsrm_ls ++#endif ++} ++ + %token END 0 "end of file" + %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE + %token T_INCLUDE "include (T_INCLUDE)" diff --git a/dev-lang/php/files/bison_build_2a.patch b/dev-lang/php/files/bison_build_2a.patch new file mode 100644 index 00000000..7dedd036 --- /dev/null +++ b/dev-lang/php/files/bison_build_2a.patch @@ -0,0 +1,30 @@ +Gentoo bug: #494240 +Upstream: #64503 + +--- Zend/zend_language_parser.y.orig 2013-12-14 12:25:43.528989017 +0100 ++++ Zend/zend_language_parser.y 2013-12-14 12:26:30.088988957 +0100 +@@ -38,10 +38,6 @@ + + #define YYERROR_VERBOSE + #define YYSTYPE znode +-#ifdef ZTS +-# define YYPARSE_PARAM tsrm_ls +-# define YYLEX_PARAM tsrm_ls +-#endif + + + %} +@@ -49,6 +45,13 @@ + %pure_parser + %expect 2 + ++%code requires { ++#ifdef ZTS ++# define YYPARSE_PARAM tsrm_ls ++# define YYLEX_PARAM tsrm_ls ++#endif ++} ++ + %left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE + %left ',' + %left T_LOGICAL_OR diff --git a/dev-lang/php/files/fix-libstdc++-underlinking.patch b/dev-lang/php/files/fix-libstdc++-underlinking.patch new file mode 100644 index 00000000..a35305a8 --- /dev/null +++ b/dev-lang/php/files/fix-libstdc++-underlinking.patch @@ -0,0 +1,10 @@ +--- acinclude.m4 2013-04-02 09:58:33.069274096 +0200 ++++ acinclude.m4.new 2013-04-02 09:58:25.221240142 +0200 +@@ -762,6 +762,7 @@ + if test -z "$php_cxx_done"; then + AC_PROG_CXX + AC_PROG_CXXCPP ++ PHP_ADD_LIBRARY(stdc++) + php_cxx_done=yes + fi + ]) diff --git a/dev-lang/php/files/freetype-2.5.1-linking-fix.patch b/dev-lang/php/files/freetype-2.5.1-linking-fix.patch new file mode 100644 index 00000000..3b78f9b3 --- /dev/null +++ b/dev-lang/php/files/freetype-2.5.1-linking-fix.patch @@ -0,0 +1,64 @@ +From a0955f351c7eb1022da7ae36970ffef3b00c8aff Mon Sep 17 00:00:00 2001 +From: Adam Harvey <aharvey@php.net> +Date: Sat, 7 Dec 2013 19:39:40 -0800 +Subject: [PATCH] Switch to using freetype-config for freetype detection. + +This fixes GD compilation against libfreetype 2.5.1 and later after they made +the rather interesting decision to change their include directory layout in a +point release. + +The original suggestion in the bug was to use pkg-config, but my inclination is +to use freetype-config instead: we should be able to get the same configuration +information without actually needing pkg-config installed, since pkg-config is +by no means guaranteed to exist on many Unices and distros, whereas +freetype-config should always be present if a libfreetype build environment is +installed. Let's try it out and see what happens. + +Fixes bug #64405 (Use freetype-config for determining freetype2 dir(s)). + +diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 +index 0e35ece..732e14c 100644 +--- a/ext/gd/config.m4 ++++ b/ext/gd/config.m4 +@@ -193,30 +193,25 @@ AC_DEFUN([PHP_GD_FREETYPE2],[ + if test "$PHP_FREETYPE_DIR" != "no"; then + + for i in $PHP_FREETYPE_DIR /usr/local /usr; do +- if test -f "$i/include/freetype2/freetype/freetype.h"; then ++ if test -f "$i/bin/freetype-config"; then + FREETYPE2_DIR=$i +- FREETYPE2_INC_DIR=$i/include/freetype2 ++ FREETYPE2_CONFIG="$i/bin/freetype-config" + break + fi + done + + if test -z "$FREETYPE2_DIR"; then +- AC_MSG_ERROR([freetype.h not found.]) ++ AC_MSG_ERROR([freetype-config not found.]) + fi + +- PHP_CHECK_LIBRARY(freetype, FT_New_Face, +- [ +- PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD) +- PHP_ADD_INCLUDE($FREETYPE2_DIR/include) +- PHP_ADD_INCLUDE($FREETYPE2_INC_DIR) +- AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ]) +- AC_DEFINE(HAVE_LIBFREETYPE,1,[ ]) +- AC_DEFINE(ENABLE_GD_TTF,1,[ ]) +- ],[ +- AC_MSG_ERROR([Problem with freetype.(a|so). Please check config.log for more information.]) +- ],[ +- -L$FREETYPE2_DIR/$PHP_LIBDIR +- ]) ++ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags` ++ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs` ++ ++ PHP_EVAL_INCLINE($FREETYPE2_CFLAGS) ++ PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD) ++ AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ]) ++ AC_DEFINE(HAVE_LIBFREETYPE,1,[ ]) ++ AC_DEFINE(ENABLE_GD_TTF,1,[ ]) + else + AC_MSG_RESULT([If configure fails try --with-freetype-dir=<DIR>]) + fi diff --git a/dev-lang/php/files/iodbc-pkgconfig-r1.patch b/dev-lang/php/files/iodbc-pkgconfig-r1.patch new file mode 100644 index 00000000..b2159845 --- /dev/null +++ b/dev-lang/php/files/iodbc-pkgconfig-r1.patch @@ -0,0 +1,52 @@ +--- ext/odbc/config.m4.old 2013-04-06 11:26:04.047017826 +0200 ++++ ext/odbc/config.m4 2013-04-06 12:29:47.180617161 +0200 +@@ -366,22 +366,37 @@ + + if test -z "$ODBC_TYPE"; then + PHP_ARG_WITH(iodbc,, +-[ --with-iodbc[=DIR] Include iODBC support [/usr/local]]) ++[ --with-iodbc[=DIR] Include iODBC support]) + + if test "$PHP_IODBC" != "no"; then + AC_MSG_CHECKING(for iODBC support) +- if test "$PHP_IODBC" = "yes"; then +- PHP_IODBC=/usr/local ++ if test -z "$PKG_CONFIG"; then ++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) ++ fi ++ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libiodbc ; then ++ PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR) ++ ODBC_TYPE=iodbc ++ ODBC_INCLUDE=`$PKG_CONFIG --cflags-only-I libiodbc` ++ ODBC_LFLAGS=`$PKG_CONFIG --libs-only-L libiodbc` ++ ODBC_LIBS=`$PKG_CONFIG --libs-only-l libiodbc` ++ PHP_EVAL_INCLINE($ODBC_INCLUDE) ++ AC_DEFINE(HAVE_IODBC,1,[ ]) ++ AC_DEFINE(HAVE_ODBC2,1,[ ]) ++ AC_MSG_RESULT([$ext_output]) ++ else ++ if test "$PHP_IODBC" = "yes"; then ++ PHP_IODBC=/usr/local ++ fi ++ PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR) ++ PHP_ADD_INCLUDE($PHP_IODBC/include, 1) ++ ODBC_TYPE=iodbc ++ ODBC_INCLUDE=-I$PHP_IODBC/include ++ ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR ++ ODBC_LIBS=-liodbc ++ AC_DEFINE(HAVE_IODBC,1,[ ]) ++ AC_DEFINE(HAVE_ODBC2,1,[ ]) ++ AC_MSG_RESULT([$ext_output]) + fi +- PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR) +- PHP_ADD_INCLUDE($PHP_IODBC/include, 1) +- ODBC_TYPE=iodbc +- ODBC_INCLUDE=-I$PHP_IODBC/include +- ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR +- ODBC_LIBS=-liodbc +- AC_DEFINE(HAVE_IODBC,1,[ ]) +- AC_DEFINE(HAVE_ODBC2,1,[ ]) +- AC_MSG_RESULT([$ext_output]) + fi + fi + diff --git a/dev-lang/php/files/iodbc-pkgconfig.patch b/dev-lang/php/files/iodbc-pkgconfig.patch new file mode 100644 index 00000000..f32f8eb7 --- /dev/null +++ b/dev-lang/php/files/iodbc-pkgconfig.patch @@ -0,0 +1,52 @@ +--- ext/odbc/config.m4.old 2013-04-06 11:26:04.047017826 +0200 ++++ ext/odbc/config.m4 2013-04-06 12:29:47.180617161 +0200 +@@ -366,22 +366,37 @@ + + if test -z "$ODBC_TYPE"; then + PHP_ARG_WITH(iodbc,, +-[ --with-iodbc[=DIR] Include iODBC support [/usr/local]]) ++[ --with-iodbc[=DIR] Include iODBC support]) + + if test "$PHP_IODBC" != "no"; then + AC_MSG_CHECKING(for iODBC support) +- if test "$PHP_IODBC" = "yes"; then +- PHP_IODBC=/usr/local ++ if test -z "$PKG_CONFIG"; then ++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) ++ fi ++ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libiodbc ; then ++ PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR) ++ ODBC_TYPE=iodbc ++ ODBC_INCLUDE=`$PKG_CONFIG --cflags-only-I libiodbc` ++ ODBC_LFLAGS=`$PKG_CONFIG --libs-only-L libiodbc` ++ ODBC_LIBS=`$PKG_CONFIG --libs-only-l libiodbc` ++ PHP_EVAL_INCLINE($ODBC_INCLUDE) ++ AC_DEFINE(HAVE_IODBC,1,[ ]) ++ AC_DEFINE(HAVE_ODBC2,1,[ ]) ++ AC_MSG_RESULT([$ext_output]) ++ else ++ if test "$PHP_IODBC" = "yes"; then ++ PHP_IODBC=/usr/local ++ fi ++ PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR) ++ PHP_ADD_INCLUDE($PHP_IODBC/include, 1) ++ ODBC_TYPE=iodbc ++ ODBC_INCLUDE=-I$PHP_IODBC/include ++ ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR ++ ODBC_LIBS=-liodbc ++ AC_DEFINE(HAVE_IODBC,1,[ ]) ++ AC_DEFINE(HAVE_ODBC2,1,[ ]) ++ AC_MSG_RESULT([$ext_output]) + fi +- PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR) +- PHP_ADD_INCLUDE($PHP_IODBC/include, 1) +- ODBC_TYPE=iodbc +- ODBC_INCLUDE=-I$PHP_IODBC/include +- ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR +- ODBC_LIBS=-liodbc +- AC_DEFINE(HAVE_IODBC,1,[ ]) +- AC_DEFINE(HAVE_ODBC2,1,[ ]) +- AC_MSG_RESULT([$ext_output]) + fi + fi + diff --git a/dev-lang/php/files/missing-openssl-include.patch b/dev-lang/php/files/missing-openssl-include.patch new file mode 100644 index 00000000..28cc7dd6 --- /dev/null +++ b/dev-lang/php/files/missing-openssl-include.patch @@ -0,0 +1,14 @@ +--- acinclude.m4 2012-11-17 21:53:06.346408695 +0100 ++++ acinclude.m4.new 2013-03-18 11:37:09.253432820 +0100 +@@ -2331,8 +2331,10 @@ + AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) + fi + +- if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then ++ if test -n "$OPENSSL_LIBS" ; then + PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) ++ fi ++ if test -n "$OPENSSL_INCS" ; then + PHP_EVAL_INCLINE($OPENSSL_INCS) + fi + fi diff --git a/dev-lang/php/files/php-fpm-r1.conf b/dev-lang/php/files/php-fpm-r1.conf new file mode 100644 index 00000000..0b0a7f8b --- /dev/null +++ b/dev-lang/php/files/php-fpm-r1.conf @@ -0,0 +1,311 @@ +;;;;;;;;;;;;;;;;;;;;; +; FPM Configuration ; +;;;;;;;;;;;;;;;;;;;;; + +; All relative paths in this configuration file are relative to PHP's install +; prefix (/usr/lib/php5.3). This prefix can be dynamicaly changed by using the +; '-p' argument from the command line. + +; Include one or more files. If glob(3) exists, it is used to include a bunch of +; files from a glob(3) pattern. This directive can be used everywhere in the +; file. +; Relative path can also be used. They will be prefixed by: +; - the global prefix if it's been set (-p arguement) +; - /usr/lib/php5.3 otherwise +;include=/etc/php/fpm-php5.3/fpm.d/*.conf + +;;;;;;;;;;;;;;;;;; +; Global Options ; +;;;;;;;;;;;;;;;;;; + +[global] +; Pid file +; Note: the default prefix is /var/lib +; Default Value: none +; Warning: pid file is overriden by the Gentoo init script. +; FPM will refuse to start if you uncomment this settingi and make use of the +; init script. +; pid = /var/run/php-fpm.pid + +; Error log file +; Note: the default prefix is /var/lib +; Default Value: log/php-fpm.log +error_log = /var/log/php-fpm.log + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +;log_level = notice + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +;emergency_restart_threshold = 0 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;emergency_restart_interval = 0 + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;process_control_timeout = 0 + +; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. +; Default Value: yes +;daemonize = yes + +;;;;;;;;;;;;;;;;;;;; +; Pool Definitions ; +;;;;;;;;;;;;;;;;;;;; + +; Multiple pools of child processes may be started with different listening +; ports and different management options. The name of the pool will be +; used in logs and stats. There is no limitation on the number of pools which +; FPM can handle. Your system will tell you anyway :) + +; Start a new pool named 'www'. +; the variable $pool can we used in any directive and will be replaced by the +; pool name ('www' here) +[www] + +; Per pool prefix +; It only applies on the following directives: +; - 'slowlog' +; - 'listen' (unixsocket) +; - 'chroot' +; - 'chdir' +; - 'php_values' +; - 'php_admin_values' +; When not set, the global prefix (or /usr/lib/php5.3) applies instead. +; Note: This directive can also be relative to the global prefix. +; Default Value: none +;prefix = /path/to/pools/$pool + +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses on a +; specific port; +; '/path/to/unix/socket' - to listen on a unix socket. +; Note: This value is mandatory. +listen = 127.0.0.1:9000 + +; Set listen(2) backlog. A value of '-1' means unlimited. +; Default Value: 128 (-1 on FreeBSD and OpenBSD) +;listen.backlog = -1 + +; List of ipv4 addresses of FastCGI clients which are allowed to connect. +; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original +; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address +; must be separated by a comma. If this value is left blank, connections will be +; accepted from any ip address. +; Default Value: any +;listen.allowed_clients = 127.0.0.1 + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0666 +;listen.owner = nobody +;listen.group = nobody +;listen.mode = 0666 + +; Unix user/group of processes +; Note: The user is mandatory. If the group is not set, the default user's group +; will be used. +user = nobody +group = nobody + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static - a fixed number (pm.max_children) of child processes; +; dynamic - the number of child processes are set dynamically based on the +; following directives: +; pm.max_children - the maximum number of children that can +; be alive at the same time. +; pm.start_servers - the number of children created on startup. +; pm.min_spare_servers - the minimum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is less than this +; number then some children will be created. +; pm.max_spare_servers - the maximum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is greater than this +; number then some children will be killed. +; Note: This value is mandatory. +pm = dynamic + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes to be created when pm is set to 'dynamic'. +; This value sets the limit on the number of simultaneous requests that will be +; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. +; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP +; CGI. +; Note: Used when pm is set to either 'static' or 'dynamic' +; Note: This value is mandatory. +pm.max_children = 50 + +; The number of child processes created on startup. +; Note: Used only when pm is set to 'dynamic' +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +;pm.start_servers = 20 + +; The desired minimum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.min_spare_servers = 5 + +; The desired maximum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.max_spare_servers = 35 + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +;pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. By default, the status page shows the following +; information: +; accepted conn - the number of request accepted by the pool; +; pool - the name of the pool; +; process manager - static or dynamic; +; idle processes - the number of idle processes; +; active processes - the number of active processes; +; total processes - the number of idle + active processes. +; max children reached - number of times, the process limit has been reached, +; when pm tries to start more children (works only for +; pm 'dynamic') +; The values of 'idle processes', 'active processes' and 'total processes' are +; updated each second. The value of 'accepted conn' is updated in real time. +; Example output: +; accepted conn: 12073 +; pool: www +; process manager: static +; idle processes: 35 +; active processes: 65 +; total processes: 100 +; max children reached: 1 +; By default the status page output is formatted as text/plain. Passing either +; 'html' or 'json' as a query string will return the corresponding output +; syntax. Example: +; http://www.foo.bar/status +; http://www.foo.bar/status?json +; http://www.foo.bar/status?html +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;pm.status_path = /status + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;ping.path = /ping + +; This directive may be used to customize the response of a ping request. The +; response is formatted as text/plain with a 200 response code. +; Default Value: pong +;ping.response = pong + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +;slowlog = /var/log/php-fpm-$pool.log.slow + +; Set open file descriptor rlimit. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Chroot to this directory at the start. This value must be defined as an +; absolute path. When this value is not set, chroot is not used. +; Note: you can prefix with '$prefix' to chroot to the pool prefix or one +; of its subdirectories. If the pool prefix is not set, the global prefix +; will be used instead. +; Note: chrooting is a great security feature and should be used whenever +; possible. However, all PHP paths will be relative to the chroot +; (error_log, sessions.save_path, ...). +; Default Value: not set +;chroot = + +; Chdir to this directory at the start. +; Note: relative path can be used. +; Default Value: current directory or / when chroot +;chdir = /var/www + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +;env[HOSTNAME] = $HOSTNAME +;env[PATH] = /usr/local/bin:/usr/bin:/bin +;env[TMP] = /tmp +;env[TMPDIR] = /tmp +;env[TEMP] = /tmp + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. + +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. + +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or /usr/lib/php5.3) + +; Default Value: nothing is defined by default except the values in php.ini and +; specified at startup with the -d argument +;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com +;php_flag[display_errors] = off +;php_admin_value[error_log] = /var/log/fpm-php.www.log +;php_admin_flag[log_errors] = on +;php_admin_value[memory_limit] = 32M diff --git a/dev-lang/php/files/php-fpm-r4.init b/dev-lang/php/files/php-fpm-r4.init new file mode 100755 index 00000000..a186d834 --- /dev/null +++ b/dev-lang/php/files/php-fpm-r4.init @@ -0,0 +1,47 @@ +#!/sbin/runscript + +set_phpvars() { + PHPSLOT=${SVCNAME#php-fpm-} + [ ${PHPSLOT} = 'php-fpm' ] && PHPSLOT="$(eselect php show fpm)" + + PHP_FPM_CONF="/etc/php/fpm-${PHPSLOT}/php-fpm.conf" + PHP_FPM_PID="/var/run/php-fpm-${PHPSLOT}.pid" +} + +extra_commands="depend" +extra_started_commands="reload" + +depend() { + need net + use apache2 lighttpd nginx +} + +start() { + ebegin "Starting PHP FastCGI Process Manager" + set_phpvars + start-stop-daemon --start --pidfile ${PHP_FPM_PID} --exec \ + /usr/lib/${PHPSLOT}/bin/php-fpm -- -y "${PHP_FPM_CONF}" -g "${PHP_FPM_PID}" + local i=0 + local timeout=5 + while [ ! -f ${PHP_FPM_PID} ] && [ $i -le $timeout ]; do + sleep 1 + i=$(($i + 1)) + done + + [ $timeout -gt $i ] + eend $? +} + +stop() { + ebegin "Stopping PHP FastCGI Process Manager" + set_phpvars + start-stop-daemon --signal QUIT --stop --exec /usr/lib/${PHPSLOT}/bin/php-fpm --pidfile ${PHP_FPM_PID} + eend $? +} + +reload() { + ebegin "Reloading PHP FastCGI Process Manager" + set_phpvars + [ -f ${PHP_FPM_PID} ] && kill -USR2 $(cat ${PHP_FPM_PID}) + eend $? +} diff --git a/dev-lang/php/files/php-fpm_at-simple.service b/dev-lang/php/files/php-fpm_at-simple.service new file mode 100644 index 00000000..5f0482e8 --- /dev/null +++ b/dev-lang/php/files/php-fpm_at-simple.service @@ -0,0 +1,13 @@ +[Unit] +Description=The PHP FastCGI Process Manager +After=network.target + +[Service] +Type=simple +PIDFile=/run/php-fpm/php-fpm-%I.pid +ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize +ExecReload=/bin/kill -USR2 $MAINPID +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/dev-lang/php/files/php-fpm_at.service b/dev-lang/php/files/php-fpm_at.service new file mode 100644 index 00000000..152c1abe --- /dev/null +++ b/dev-lang/php/files/php-fpm_at.service @@ -0,0 +1,14 @@ +[Unit] +Description=The PHP FastCGI Process Manager +After=network.target + +[Service] +Type=notify +PIDFile=/run/php-fpm/php-fpm-%I.pid +ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize +ExecReload=/bin/kill -USR2 $MAINPID +PrivateTmp=true + +[Install] +WantedBy=multi-user.target + diff --git a/dev-lang/php/files/php-libvpx.patch b/dev-lang/php/files/php-libvpx.patch new file mode 100644 index 00000000..e23ae0ef --- /dev/null +++ b/dev-lang/php/files/php-libvpx.patch @@ -0,0 +1,24 @@ +--- ext/gd/libgd/webpimg.c.orig 2015-04-10 17:33:03.864937281 +0300 ++++ ext/gd/libgd/webpimg.c 2015-04-10 17:33:32.089873980 +0300 +@@ -706,14 +706,14 @@ + codec_ctl(&enc, VP8E_SET_STATIC_THRESHOLD, 0); + codec_ctl(&enc, VP8E_SET_TOKEN_PARTITIONS, 2); + +- vpx_img_wrap(&img, IMG_FMT_I420, ++ vpx_img_wrap(&img, VPX_IMG_FMT_I420, + y_width, y_height, 16, (uint8*)(Y)); +- img.planes[PLANE_Y] = (uint8*)(Y); +- img.planes[PLANE_U] = (uint8*)(U); +- img.planes[PLANE_V] = (uint8*)(V); +- img.stride[PLANE_Y] = y_stride; +- img.stride[PLANE_U] = uv_stride; +- img.stride[PLANE_V] = uv_stride; ++ img.planes[VPX_PLANE_Y] = (uint8*)(Y); ++ img.planes[VPX_PLANE_U] = (uint8*)(U); ++ img.planes[VPX_PLANE_V] = (uint8*)(V); ++ img.stride[VPX_PLANE_Y] = y_stride; ++ img.stride[VPX_PLANE_U] = uv_stride; ++ img.stride[VPX_PLANE_V] = uv_stride; + + res = vpx_codec_encode(&enc, &img, 0, 1, 0, VPX_DL_BEST_QUALITY); + diff --git a/dev-lang/php/files/php5-ldvs b/dev-lang/php/files/php5-ldvs new file mode 100644 index 00000000..783b0f63 --- /dev/null +++ b/dev-lang/php/files/php5-ldvs @@ -0,0 +1 @@ +PHP_5 { global: *; }; diff --git a/dev-lang/php/files/stricter-libc-client-symlink-check.patch b/dev-lang/php/files/stricter-libc-client-symlink-check.patch new file mode 100644 index 00000000..7cf36643 --- /dev/null +++ b/dev-lang/php/files/stricter-libc-client-symlink-check.patch @@ -0,0 +1,15 @@ +Gentoo bugs: 88944 463800 +--- ext/imap/config.m4 2013-03-27 19:31:13.000000000 +0100 ++++ ext/imap/config.m4.new 2013-03-30 18:34:17.581557062 +0100 +@@ -198,9 +198,9 @@ + AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.) + fi + +- if test -r "$IMAP_DIR/c-client/c-client.a"; then ++ if test ! -r "$IMAP_DIR/c-client/libc-client.a" && -r "$IMAP_DIR/c-client/c-client.a" ; then + ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1 +- elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then ++ elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then + ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1 + fi + |