diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest deleted file mode 100644 index 430b8f1..0000000 --- a/dev-lang/php/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST php-5.6.0RC4.tar.bz2 13404463 SHA256 e8075f221abf195b3efa5beb005eb552b50a6008a1786ef1b88176b83ed4d708 SHA512 2aa1ed786ba17e34a036922d3f2822d8a5f36455c8b17c61de7acc2615b95786d8f7393b1fe0e69d6da68a48d1975ed214966ecb1608cab232d115f446f00152 WHIRLPOOL e3509c7e48b1d6b5bf85b7774d130b94c5ce62f72f41798b577f7a4011f0fa85d1274b21056ce2ec870123a44577de9d5d39c46ec3c523aaac10c9d5d269a135 diff --git a/dev-lang/php/files/20php5-envd b/dev-lang/php/files/20php5-envd deleted file mode 100644 index f6033ae..0000000 --- a/dev-lang/php/files/20php5-envd +++ /dev/null @@ -1,2 +0,0 @@ -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/70_mod_php5.conf-apache2 b/dev-lang/php/files/70_mod_php5.conf-apache2 deleted file mode 100644 index 7ec8739..0000000 --- a/dev-lang/php/files/70_mod_php5.conf-apache2 +++ /dev/null @@ -1,14 +0,0 @@ - - # Load the module first - - LoadModule php5_module modules/libphp5.so - - - # Set it to handle the files - - AddHandler application/x-httpd-php .php .php5 .phtml - AddHandler application/x-httpd-php-source .phps - - - DirectoryIndex index.php index.phtml - diff --git a/dev-lang/php/files/php-fpm-r1.conf b/dev-lang/php/files/php-fpm-r1.conf deleted file mode 100644 index 0b0a7f8..0000000 --- a/dev-lang/php/files/php-fpm-r1.conf +++ /dev/null @@ -1,311 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;; -; 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 deleted file mode 100644 index a186d83..0000000 --- a/dev-lang/php/files/php-fpm-r4.init +++ /dev/null @@ -1,47 +0,0 @@ -#!/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 deleted file mode 100644 index 5f0482e..0000000 --- a/dev-lang/php/files/php-fpm_at-simple.service +++ /dev/null @@ -1,13 +0,0 @@ -[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 deleted file mode 100644 index 152c1ab..0000000 --- a/dev-lang/php/files/php-fpm_at.service +++ /dev/null @@ -1,14 +0,0 @@ -[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/metadata.xml b/dev-lang/php/metadata.xml deleted file mode 100644 index aa64511..0000000 --- a/dev-lang/php/metadata.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - php - - Enable CLI SAPI - Enable embed SAPI - Add supports Enchant spelling library. - Add fileinfo extension support - Add filter extension support - Enable the FastCGI Process Manager SAPI - Adds support for gd (bundled with PHP) - Enable the hash extension - Enable JSON support - Add SASL support for the PHP LDAP extension - Use native driver for mysql, mysqli, PDO_Mysql - Use libmyslclient driver for mysql, mysqli, PDO_Mysql (not recommended) - Enables the intl extension for extended internalization support - Enables built-in opcode cache, replacing pecl-apc et.al - Enable the bundled PDO extensions - Enables the phar extension to provide phar archive support - Add sqlite2 support. Will be removed - Enable XMLReader support - Enable XMLWriter support - Enable the XSL extension - Enable ZIP file support - - diff --git a/dev-lang/php/php-5.6.0_rc4.ebuild b/dev-lang/php/php-5.6.0_rc4.ebuild deleted file mode 100644 index 17c5221..0000000 --- a/dev-lang/php/php-5.6.0_rc4.ebuild +++ /dev/null @@ -1,780 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd - -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" - -function php_get_uri () -{ - case "${1}" in - "php-pre") - echo "http://downloads.php.net/tyrael/${2}" - ;; - "php") - echo "http://www.php.net/distributions/${2}" - ;; - "olemarkus") - echo "http://dev.gentoo.org/~olemarkus/php/${2}" - ;; - "gentoo") - echo "mirror://gentoo/${2}" - ;; - *) - die "unhandled case in php_get_uri" - ;; - esac -} - -PHP_MV="$(get_major_version)" -SLOT="$(get_version_component_range 1-2)" - -# alias, so we can handle different types of releases (finals, rcs, alphas, -# betas, ...) w/o changing the whole ebuild -PHP_PV="${PV/_rc/RC}" -PHP_PV="${PHP_PV/_alpha/alpha}" -PHP_PV="${PHP_PV/_beta/beta}" -PHP_RELEASE="php" -[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre" -[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre" -[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre" -PHP_P="${PN}-${PHP_PV}" - -PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")" - -PHP_FPM_CONF_VER="1" - -SRC_URI="${PHP_SRC_URI}" - -DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs." -HOMEPAGE="http://php.net/" -LICENSE="PHP-3" - -S="${WORKDIR}/${PHP_P}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk - crypt +ctype curl debug - enchant exif frontbase +fileinfo +filter firebird - flatfile ftp gd gdbm gmp +hash +iconv imap inifile - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash - mssql mysql libmysqlclient mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline recode selinux +session sharedmem - +simplexml snmp soap sockets spell sqlite ssl - sybase-ct sysvipc systemd tidy +tokenizer truetype unicode wddx - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" - -DEPEND=" - >=app-admin/eselect-php-0.7.1-r3[apache2?,fpm?] - >=dev-libs/libpcre-8.32[unicode] - apache2? ( www-servers/apache[threads=] ) - berkdb? ( =sys-libs/db-4* ) - bzip2? ( app-arch/bzip2 ) - cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - cjk? ( !gd? ( - virtual/jpeg:0 - media-libs/libpng:0= - sys-libs/zlib - ) ) - crypt? ( >=dev-libs/libmcrypt-2.4 ) - curl? ( >=net-misc/curl-7.10.5 ) - enchant? ( app-text/enchant ) - exif? ( !gd? ( - virtual/jpeg:0 - media-libs/libpng:0= - sys-libs/zlib - ) ) - firebird? ( dev-db/firebird ) - gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) - gdbm? ( >=sys-libs/gdbm-1.8.0 ) - gmp? ( >=dev-libs/gmp-4.1.2 ) - iconv? ( virtual/libiconv ) - imap? ( virtual/imap-c-client[ssl=] ) - intl? ( dev-libs/icu:= ) - iodbc? ( dev-db/libiodbc ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) - libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) - mssql? ( dev-db/freetds[mssql] ) - libmysqlclient? ( - mysql? ( virtual/mysql ) - mysqli? ( >=virtual/mysql-4.1 ) - ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient-basic ) - odbc? ( >=dev-db/unixODBC-1.8.13 ) - postgres? ( dev-db/postgresql-base ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline ) - recode? ( app-text/recode ) - sharedmem? ( dev-libs/mm ) - simplexml? ( >=dev-libs/libxml2-2.6.8 ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - soap? ( >=dev-libs/libxml2-2.6.8 ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( >=dev-libs/openssl-0.9.7 ) - sybase-ct? ( dev-db/freetds ) - tidy? ( app-text/htmltidy ) - truetype? ( - =media-libs/freetype-2* - >=media-libs/t1lib-5.0.0 - !gd? ( - virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) - ) - unicode? ( dev-libs/oniguruma ) - wddx? ( >=dev-libs/libxml2-2.6.8 ) - xml? ( >=dev-libs/libxml2-2.6.8 ) - xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) - xmlreader? ( >=dev-libs/libxml2-2.6.8 ) - xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) - xpm? ( - x11-libs/libXpm - virtual/jpeg:0 - media-libs/libpng:0= sys-libs/zlib - ) - xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) - zip? ( sys-libs/zlib ) - zlib? ( sys-libs/zlib ) - virtual/mta -" - -php="=${CATEGORY}/${PF}" - -REQUIRED_USE=" - truetype? ( gd ) - cjk? ( gd ) - exif? ( gd ) - - xpm? ( gd ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - wddx? ( xml ) - xmlrpc? ( || ( xml iconv ) ) - xmlreader? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - mhash? ( hash ) - phar? ( hash ) - libmysqlclient? ( || ( - mysql - mysqli - pdo - ) ) - - qdbm? ( !gdbm ) - readline? ( !libedit ) - recode? ( !imap !mysql !mysqli ) - sharedmem? ( !threads ) - - !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )" - -RDEPEND="${DEPEND}" - -RDEPEND="${RDEPEND} - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -DEPEND="${DEPEND} - sys-devel/flex - >=sys-devel/m4-1.4.3 - >=sys-devel/libtool-1.5.18" - -# Allow users to install production version if they want to - -case "${PHP_INI_VERSION}" in - production|development) - ;; - *) - PHP_INI_VERSION="development" - ;; -esac - -PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}" -PHP_INI_FILE="php.ini" - -want_apache - -pkg_setup() { - depend.apache_pkg_setup -} - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}" - cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" - - dodir "${PHP_INI_DIR#${EPREFIX}}" - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" "${PHP_INI_FILE}" - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use_if_iuse opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - - if [[ "${sapi}" == "fpm" ]] ; then - [[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0 - einfo "Installing FPM CGI config file php-fpm.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf - - # Remove bogus /etc/php-fpm.conf.default (bug 359906) - [[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default" - fi - - # Install PHP ini files into /usr/share/php - - dodoc php.ini-development - dodoc php.ini-production - -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - # USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path - # ([empty session.save_path]/session_mm_[sapi][gid].sem) - # there is no easy way to circumvent that, all php calls during - # install use -n, so no php.ini file will be used. - # As such, this is the easiest way to get around - addpredict /session_mm_cli250.sem - addpredict /session_mm_cli0.sem - - # Change PHP branding - # Get the alpha/beta/rc version - sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ - -i configure.in || die "Unable to change PHP branding" - - # Patch PHP to show Gentoo as the server platform - sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ - -i configure.in || die "Failed to fix server platform name" - - # Prevent PHP from activating the Apache config, - # as we will do that ourselves - sed -i \ - -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ - -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ - configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 - - # Patch PHP to support heimdal instead of mit-krb5 - if has_version "app-crypt/heimdal" ; then - sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ - || die "Failed to fix heimdal libname" - sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \ - || die "Failed to fix heimdal crypt library reference" - fi - - #Add user patches #357637 - epatch_user - - #force rebuilding aclocal.m4 - rm aclocal.m4 - eautoreconf - - if [[ ${CHOST} == *-darwin* ]] ; then - # http://bugs.php.net/bug.php?id=48795, bug #343481 - sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die - fi -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index - addpredict /var/lib/net-snmp/mib_indexes - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # This is a global variable and should be in caps. It isn't because the - # phpconfutils eclass relies on exactly this name... - # for --with-libdir see bug #327025 - my_conf=" - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}"/man - --infodir="${PHP_DESTDIR}"/info - --libdir="${PHP_DESTDIR}"/lib - --with-libdir=$(get_libdir) - --without-pear - $(use_enable threads maintainer-zts)" - - # extension USE flag shared - my_conf+=" - $(use_enable bcmath bcmath ) - $(use_with bzip2 bz2 "${EPREFIX}"/usr) - $(use_enable calendar calendar ) - $(use_enable ctype ctype ) - $(use_with curl curl "${EPREFIX}"/usr) - $(use_enable xml dom ) - $(use_with enchant enchant "${EPREFIX}"/usr) - $(use_enable exif exif ) - $(use_enable fileinfo fileinfo ) - $(use_enable filter filter ) - $(use_enable ftp ftp ) - $(use_with nls gettext "${EPREFIX}"/usr) - $(use_with gmp gmp "${EPREFIX}"/usr) - $(use_enable hash hash ) - $(use_with mhash mhash "${EPREFIX}"/usr) - $(use_with iconv iconv $(use elibc_glibc || echo "${EPREFIX}"/usr)) - $(use_enable intl intl ) - $(use_enable ipv6 ipv6 ) - $(use_enable json json ) - $(use_with kerberos kerberos "${EPREFIX}"/usr) - $(use_enable xml libxml ) - $(use_with xml libxml-dir "${EPREFIX}"/usr) - $(use_enable unicode mbstring ) - $(use_with crypt mcrypt "${EPREFIX}"/usr) - $(use_with mssql mssql "${EPREFIX}"/usr) - $(use_with unicode onig "${EPREFIX}"/usr) - $(use_with ssl openssl "${EPREFIX}"/usr) - $(use_with ssl openssl-dir "${EPREFIX}"/usr) - $(use_enable pcntl pcntl ) - $(use_enable phar phar ) - $(use_enable pdo pdo ) - $(use_enable opcache opcache ) - $(use_with postgres pgsql "${EPREFIX}"/usr) - $(use_enable posix posix ) - $(use_with spell pspell "${EPREFIX}"/usr) - $(use_with recode recode "${EPREFIX}"/usr) - $(use_enable simplexml simplexml ) - $(use_enable sharedmem shmop ) - $(use_with snmp snmp "${EPREFIX}"/usr) - $(use_enable soap soap ) - $(use_enable sockets sockets ) - $(use_with sqlite sqlite3 "${EPREFIX}"/usr) - $(use_with sybase-ct sybase-ct "${EPREFIX}"/usr) - $(use_enable sysvipc sysvmsg ) - $(use_enable sysvipc sysvsem ) - $(use_enable sysvipc sysvshm ) - $(use_with systemd fpm-systemd) - $(use_with tidy tidy "${EPREFIX}"/usr) - $(use_enable tokenizer tokenizer ) - $(use_enable wddx wddx ) - $(use_enable xml xml ) - $(use_enable xmlreader xmlreader ) - $(use_enable xmlwriter xmlwriter ) - $(use_with xmlrpc xmlrpc) - $(use_with xslt xsl "${EPREFIX}"/usr) - $(use_enable zip zip ) - $(use_with zlib zlib "${EPREFIX}"/usr) - $(use_enable debug debug )" - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm ; then - my_conf="${my_conf} --enable-dba${shared}" - fi - - # DBA drivers support - my_conf+=" - $(use_with cdb cdb) - $(use_with berkdb db4 ${EPREFIX}/usr) - $(use_enable flatfile flatfile ) - $(use_with gdbm gdbm ${EPREFIX}/usr) - $(use_enable inifile inifile ) - $(use_with qdbm qdbm ${EPREFIX}/usr)" - - # Support for the GD graphics library - my_conf+=" - $(use_with truetype freetype-dir ${EPREFIX}/usr) - $(use_with truetype t1lib ${EPREFIX}/usr) - $(use_enable cjk gd-jis-conv ) - $(use_with gd jpeg-dir ${EPREFIX}/usr) - $(use_with gd png-dir ${EPREFIX}/usr) - $(use_with xpm xpm-dir ${EPREFIX}/usr)" - # enable gd last, so configure can pick up the previous settings - my_conf+=" - $(use_with gd gd)" - - # IMAP support - if use imap ; then - my_conf+=" - $(use_with imap imap ${EPREFIX}/usr) - $(use_with ssl imap-ssl ${EPREFIX}/usr)" - fi - - # Interbase/firebird support - - if use firebird ; then - my_conf+=" - $(use_with firebird interbase ${EPREFIX}/usr)" - fi - - # LDAP support - if use ldap ; then - my_conf+=" - $(use_with ldap ldap ${EPREFIX}/usr) - $(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)" - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - use libmysqlclient && mysqllib="${EPREFIX}/usr" - use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" - - my_conf+=" $(use_with mysql mysql $mysqllib)" - my_conf+=" $(use_with mysqli mysqli $mysqlilib)" - - local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)" - if use mysql ; then - my_conf+="${mysqlsock}" - elif use mysqli ; then - my_conf+="${mysqlsock}" - fi - - # ODBC support - if use odbc ; then - my_conf+=" - $(use_with odbc unixODBC ${EPREFIX}/usr)" - fi - - if use iodbc ; then - my_conf+=" - $(use_with iodbc iodbc ${EPREFIX}/usr)" - fi - - # Oracle support - if use oci8-instant-client ; then - my_conf+=" - $(use_with oci8-instant-client oci8)" - fi - - # PDO support - if use pdo ; then - my_conf+=" - $(use_with mssql pdo-dblib ) - $(use_with mysql pdo-mysql ${mysqllib}) - $(use_with postgres pdo-pgsql ) - $(use_with sqlite pdo-sqlite ${EPREFIX}/usr) - $(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)" - if use oci8-instant-client ; then - my_conf+=" - $(use_with oci8-instant-client pdo-oci)" - fi - fi - - # readline/libedit support - my_conf+=" - $(use_with readline readline ${EPREFIX}/usr) - $(use_with libedit libedit ${EPREFIX}/usr)" - - # Session support - if use session ; then - my_conf+=" - $(use_with sharedmem mm ${EPREFIX}/usr)" - else - my_conf+=" - $(use_enable session session )" - fi - - # Use pic for shared modules such as apache2's mod_php - my_conf="${my_conf} --with-pic" - - # we use the system copy of pcre - # --with-pcre-regex affects ext/pcre - # --with-pcre-dir affects ext/filter and ext/zip - my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr" - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Support user-passed configuration parameters - my_conf="${my_conf} ${EXTRA_ECONF:-}" - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - mkdir -p "${WORKDIR}/sapis-build" - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}" - cd "${WORKDIR}/sapis-build/${one_sapi}" - - sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR} - --with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}" - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf="${sapi_conf} --enable-${sapi}" - else - sapi_conf="${sapi_conf} --disable-${sapi}" - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs" - else - sapi_conf="${sapi_conf} --without-apxs2" - fi - ;; - esac - done - - econf ${sapi_conf} - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index - addpredict /var/lib/net-snmp/mib_indexes - - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake || die "emake failed" - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index - - # grab the first SAPI that got built and install common files from there - local first_sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs \ - || die "emake install failed" - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir /usr/share/php${PHP_MV} - - local sapi="", file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" || die "Unable to install ${sapi} sapi" - else - dobin "${source}" || die "Unable to install ${sapi} sapi" - local name="$(basename ${source})" - dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use_if_iuse opcache ; then - dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" \ - "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i \ - "${ED}/etc/env.d/20php${SLOT}" - sed -e "s|php5|php${SLOT}|g" -i \ - "${ED}/etc/env.d/20php${SLOT}" - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - APACHE2_MOD_DEFINE="PHP5" - APACHE2_MOD_CONF="70_mod_php5" - apache-module_pkg_postinst - fi - - # Create the symlinks for php - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes php${SLOT/./-} in order" - elog "to compile extensions for the ${SLOT} ABI" - elog - if ! use readline && use cli ; then - ewarn "Note that in order to use php interactivly, you need to enable" - ewarn "the readline USE flag or php -a will hang" - fi - elog - elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version." - elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either" - elog "'production' or 'development' in ${EPREFIX}/etc/make.conf" - elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}" - - elog - elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:" - elog "http://www.gentoo.org/proj/en/php/php-upgrading.xml" - elog -} - -pkg_prerm() { - eselect php cleanup -}