First step of the PHP mega-commit:

- remove extensions and PEAR from the PHP base ports
- add more OPTIONS to PHP base ports
This commit is contained in:
Alex Dupre 2004-07-19 07:05:36 +00:00
parent f9b6f78e21
commit af7ee2a6ac
77 changed files with 2085 additions and 11432 deletions

View file

@ -4,17 +4,15 @@
#
# $FreeBSD$
#
# Instructions on how to enable preferred extensions can be found in the
# Makefile of the master port (lang/php4).
#
CATEGORIES= lang
PKGNAMESUFFIX= -cli
MAINTAINER= sysadmin@alexdupre.com
MAINTAINER= ale@FreeBSD.org
COMMENT= PHP Command Line Interpreter
PKGMESSAGE= ${.CURDIR}/pkg-message
MASTERDIR= ${.CURDIR}/../php4
WITHOUT_APACHE= yes
CONFLICTS= php4-4* php4-cgi-4* mod_php4-4*
.include "${MASTERDIR}/Makefile"

View file

@ -1,11 +0,0 @@
*****************************************************************************
You have installed the php4-cli package.
Have a look at the php4-cli port if you need additional extensions other than
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php4-cli.tar
*****************************************************************************

View file

@ -4,59 +4,25 @@
#
# $FreeBSD$
#
# There are many ways to select which extensions you want to enable, either
# in interactive mode or in batch mode.
#
# By default, the enabled extensions are: CTYPE, MYSQL, OVERLOAD, PCRE, POSIX,
# SESSION, TOKENIZER, XML and ZLIB. This behaviour can be changed overriding
# the PHP4_OPTIONS variable (e.g. PHP4_OPTIONS="EXT1 EXT2 EXT3").
#
# Another way is to use the WITH_<EXT> and WITHOUT_<EXT> knobs, for additional
# and default extensions respectively (implies batch mode).
#
# The last way reads an "extension" file, located in ~/php4_options (the
# location is overridable by the PHP4_OPTFILE variable). You may find an
# example in scripts/php4_options (interactive mode only).
#
PORTNAME= php4
PORTVERSION= 4.3.8
PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES?= lang devel www
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,} \
http://downloads.php.net/ilia/:rc \
http://downloads.php.net/jani/:rc
MASTER_SITE_SUBDIR= distributions/:release
.if defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE)
PKGNAMEPREFIX= mod_
.else
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
PKGNAMESUFFIX= -cgi
.else
PKGNAMESUFFIX= -cli
.endif
.endif
.endif
DISTNAME= php-${PORTVERSION:S/.r/RC/}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
MAINTAINER?= ale@FreeBSD.org
COMMENT?= PHP Scripting Language (Apache Module and CLI)
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
COMMENT= PHP Common Gateway Interface
.else
COMMENT= PHP Command Line Interpreter
.endif
.else
.if defined(WITHOUT_CLI)
COMMENT= PHP Apache Module
.endif
.endif
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
USE_BZIP2= yes
USE_SUBMAKE= yes
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} == "-cgi" || ${PKGNAMESUFFIX} == "-cli"
GNU_CONFIGURE= yes
USE_BISON= yes
USE_REINPLACE= yes
@ -64,7 +30,6 @@ USE_REINPLACE= yes
CONFIGURE_ARGS= --enable-versioning \
--enable-memory-limit \
--with-layout=GNU \
--with-zlib-dir=/usr \
--disable-all
.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
@ -79,469 +44,63 @@ CONFIGURE_ARGS+=--with-regex=apache
.endif
.endif
EXT_DIR= 20020429
SAPI_FILE= "@comment "
.if !defined(PKGNAMEPREFIX) && !defined(PKGNAMESUFFIX)
PHP_SAPI= full
WITH_APACHE= yes
.else
.if !defined(PKGNAMEPREFIX)
PHP_SAPI= ${PKGNAMESUFFIX:S/-//}
.else
PHP_SAPI= ${PKGNAMEPREFIX:S/_//}
WITH_APACHE= yes
.endif
.endif
CONFLICTS= php4-cli-4* mod_php4-4* php4-cgi-4*
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
CONFLICTS= php4-4* php4-cli-4* mod_php4-4*
.else
CONFLICTS= php4-4* php4-cgi-4* mod_php4-4*
.if defined(WITH_APACHE)
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
.endif
.else
.if defined(WITHOUT_CLI)
CONFLICTS= php4-4* php4-cli-4* php4-cgi-4*
.if ${PHP_SAPI} == "cgi"
OPTIONS= REDIRECT "Enable force-cgi-redirect support" off \
DISCARD "Enable discard-path support" off \
FASTCGI "Enable fastcgi support" off \
PATHINFO "Enable path-info-check support" on
.endif
.if defined(WITH_APACHE)
OPTIONS= APACHE2 "Use apache 2.x instead of apache 1.3.x" off
.endif
OPTIONS+= DEBUG "Enable debug" off \
IPV6 "Enable ipv6 support" on
EXT_DIR= 20020429
CONFLICTS?= php4-cli-4* mod_php4-4* php4-cgi-4*
CONFLICTS+= php5-5* php5-cli-5* mod_php5-5* php5-cgi-5*
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
.if defined(WITH_FASTCGI)
CONFIGURE_ARGS+=--enable-fastcgi
.else
CONFIGURE_ARGS+=--enable-discard-path
.endif
SAPI_FILE= bin/php
.else
CONFIGURE_ARGS+=--disable-cgi
.endif
PLIST_SUB+= APACHE="@comment "
.else
PLIST_SUB+= APACHE=""
.endif
.if defined(WITHOUT_CLI)
.if ${PHP_SAPI} == "cgi" || ${PHP_SAPI} == "mod"
CONFIGURE_ARGS+=--disable-cli
PLIST_SUB+= CLI="@comment "
.else
.if !defined(WITHOUT_PEAR)
CONFIGURE_ARGS+=--with-pear
PLIST_SUB+= PEAR=""
.else
PLIST_SUB+= PEAR="@comment "
.endif
MAN1= php.1
.if ${PHP_SAPI} == "full" || ${PHP_SAPI} == "cli"
PLIST_SUB+= CLI=""
.endif
ALL_OPTIONS= BCMATH BZIP2 CALENDAR CDB CRACK CTYPE CURL DB4 DBASE DBX DIO \
DOMXML DOMXSLT EXIF FILEPRO FRIBIDI FTP GD GDBM GETTEXT \
GMP HYPERWAVE ICONV IMAP INTERBASE INIFILE MBSTRING MCAL MCVE \
MCRYPT MHASH MIME MING MNOGOSEARCH MSSQL MYSQL NCURSES \
OPENLDAP OPENSSL ORACLE OVERLOAD PCNTL PCRE POSIX \
POSTGRESQL PSPELL READLINE RECODE SESSION SHMOP SNMP SOCKETS \
SYBASEDB SYBASECT SYSVMSG SYSVSEM SYSVSHM TOKENIZER UNIXODBC \
WDDX XML XMLRPC XSLT YAZ YP ZIP ZLIB
.for opt in ${ALL_OPTIONS}
.if defined(WITH_${opt}) || defined(WITHOUT_${opt})
BATCH= yes
.endif
.endfor
.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
IS_INTERACTIVE= yes
.endif
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
PHP4_OPTFILE?= ${HOME}/php4_options
PHP4_OPTIONS?= CTYPE MYSQL OVERLOAD PCRE POSIX SESSION TOKENIZER XML ZLIB
.for opt in ${ALL_OPTIONS}
.if defined(WITH_${opt})
SEL_OPTIONS+= ${opt}
.endif
.endfor
.for opt in ${PHP4_OPTIONS}
.if !defined(WITHOUT_${opt})
SEL_OPTIONS+= ${opt}
.if !exists(${WRKDIR}/Makefile.inc)
WITH_${opt}= yes
.endif
.endif
SCRIPTS_ENV+= WITH_${opt}=ON
.endfor
SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \
OPTION_FILE="${PHP4_OPTFILE}" \
WRKDIR="${WRKDIR}" \
CAT="${CAT}" \
SED="${SED}"
.if exists(${WRKDIR}/Makefile.inc)
.include "${WRKDIR}/Makefile.inc"
.endif
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
WITH_PCRE= yes
WITH_XML= yes
.endif
.if defined(WITH_CDB) || defined(WITH_DB4) || defined(WITH_GDBM) || defined(WITH_INIFILE)
WITH_DBA= yes
.endif
.if defined(WITH_DOMXSLT)
WITH_DOMXML= yes
.endif
.if defined(WITH_XMLRPC) || defined(WITH_XSLT)
WITH_ICONV_DEP= yes
.endif
.if defined(WITH_MCVE) || defined(WITH_SNMP)
WITH_OPENSSL_DEP= yes
.endif
.if defined(WITH_XMLRPC) || defined(WITH_XSLT)
WITH_XML_DEP= yes
.endif
.if defined(WITH_WDDX)
WITH_XML= yes
.endif
.if defined(WITH_BCMATH)
CONFIGURE_ARGS+=--enable-bcmath
.endif
.if defined(WITH_BZIP2)
.if exists(/usr/bin/bzip2)
BZIP2BASE= /usr
MAN1= php.1
.else
BZIP2BASE= ${LOCALBASE}
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif
CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE}
PLIST_SUB+= CLI="@comment "
.endif
.if defined(WITH_CALENDAR)
CONFIGURE_ARGS+=--enable-calendar
.endif
.if defined(WITH_CDB)
CONFIGURE_ARGS+=--with-cdb
.endif
.if defined(WITH_CRACK)
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
.endif
.if defined(WITH_CTYPE)
CONFIGURE_ARGS+=--enable-ctype
.endif
.if defined(WITH_CURL)
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if defined(WITH_DB4)
WITH_DB4_VER?= 41
.if ${WITH_DB4_VER} == 42
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
.if defined(WITH_APACHE)
PLIST_SUB+= APACHE=""
.else
.if ${WITH_DB4_VER} == 4
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
.else
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
.endif
.endif
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
PLIST_SUB+= APACHE="@comment "
.endif
.if defined(WITH_DBA)
CONFIGURE_ARGS+=--enable-dba
.if ${PHP_SAPI} == "cli"
CONFIGURE_ARGS+=--disable-cgi
SAPI_FILE= "@comment "
.endif
.if defined(WITH_DBASE)
CONFIGURE_ARGS+=--enable-dbase
.endif
.if defined(WITH_DBX)
CONFIGURE_ARGS+=--enable-dbx
.endif
.if defined(WITH_DIO)
CONFIGURE_ARGS+=--enable-dio
.endif
.if defined(WITH_DOMXML)
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
CONFIGURE_ARGS+=--with-dom=${LOCALBASE}
.endif
.if defined(WITH_DOMXSLT)
LIB_DEPENDS+= xslt.2:${PORTSDIR}/textproc/libxslt
CONFIGURE_ARGS+=--with-dom-xslt=${LOCALBASE} --with-dom-exslt=${LOCALBASE}
.endif
.if defined(WITH_EXIF)
CONFIGURE_ARGS+=--enable-exif
.endif
.if defined(WITH_FILEPRO)
CONFIGURE_ARGS+=--enable-filepro
.endif
.if defined(WITH_FRIBIDI)
LIB_DEPENDS+= fribidi.0:${PORTSDIR}/converters/fribidi
CONFIGURE_ARGS+=--with-fribidi=${LOCALBASE}
.endif
.if defined(WITH_FTP)
CONFIGURE_ARGS+=--enable-ftp
.endif
.if defined(WITH_GD)
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
CONFIGURE_ARGS+=--with-gd \
--enable-gd-native-ttf \
--with-freetype-dir=${LOCALBASE} \
--with-t1lib=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE}
.if !defined(WITHOUT_X11)
USE_XPM= yes
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
.endif
.if defined(WITH_LZW)
CONFIGURE_ARGS+=--enable-gd-lzw-gif
.endif
.endif
.if defined(WITH_GDBM)
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
.endif
.if defined(WITH_GETTEXT)
USE_GETTEXT= yes
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
.endif
.if defined(WITH_GMP)
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if defined(WITH_HYPERWAVE)
CONFIGURE_ARGS+=--with-hyperwave
.endif
.if defined(WITH_ICONV) || defined(WITH_ICONV_DEP)
USE_ICONV= yes
CONFIGURE_ARGS+=--with-iconv-dir=${LOCALBASE}
.endif
.if defined(WITH_ICONV)
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
.endif
.if defined(WITH_INIFILE)
CONFIGURE_ARGS+=--with-inifile
.endif
.if defined(WITH_INTERBASE)
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
.endif
.if defined(WITH_MBSTRING)
CONFIGURE_ARGS+=--enable-mbstring
.endif
.if defined(WITH_MCAL)
LIB_DEPENDS+= mcal.0:${PORTSDIR}/misc/libmcal
CONFIGURE_ARGS+=--with-mcal=${LOCALBASE}
.endif
.if defined(WITH_MCVE)
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE}
.endif
.if defined(WITH_MCRYPT)
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
USE_LIBLTDL= yes
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
.endif
.if defined(WITH_MHASH)
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
.endif
.if defined(WITH_MIME)
CONFIGURE_ARGS+=--with-mime-magic=/usr/share/misc/magic.mime
.endif
.if defined(WITH_MING)
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if defined(WITH_MNOGOSEARCH)
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
.endif
.if defined(WITH_MSSQL)
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if defined(WITH_MYSQL)
USE_MYSQL= yes
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
.endif
.if defined(WITH_OPENLDAP)
USE_OPENLDAP= yes
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
.endif
.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP)
USE_OPENSSL= yes
LDFLAGS+= -lcrypto -lssl
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
CONFIGURE_ARGS+=--with-openssl-dir=${OPENSSLBASE}
.endif
.if defined(WITH_OPENSSL)
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
.endif
.if defined(WITH_ORACLE)
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
.endif
.if defined(WITH_OVERLOAD)
CONFIGURE_ARGS+=--enable-overload
.endif
.if defined(WITH_PCNTL)
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if defined(WITH_PCRE)
CONFIGURE_ARGS+=--with-pcre-regex=yes
.endif
.if defined(WITH_POSIX)
CONFIGURE_ARGS+=--enable-posix
.endif
.if defined(WITH_POSTGRESQL)
POSTGRESQL_PORT?= databases/postgresql7
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if defined(WITH_PSPELL)
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
.endif
.if defined(WITH_READLINE)
CONFIGURE_ARGS+=--with-readline
.endif
.if defined(WITH_RECODE)
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
.endif
.if defined(WITH_SESSION)
CONFIGURE_ARGS+=--enable-session
.endif
.if defined(WITH_SHMOP)
CONFIGURE_ARGS+=--enable-shmop
.endif
.if defined(WITH_SOCKETS)
CONFIGURE_ARGS+=--enable-sockets
.endif
.if defined(WITH_SYBASEDB)
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
.endif
.if defined(WITH_SYBASECT)
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
.endif
.if defined(WITH_SYSVMSG)
CONFIGURE_ARGS+=--enable-sysvmsg
.endif
.if defined(WITH_SYSVSEM)
CONFIGURE_ARGS+=--enable-sysvsem
.endif
.if defined(WITH_SYSVSHM)
CONFIGURE_ARGS+=--enable-sysvshm
.endif
.if defined(WITH_TOKENIZER)
CONFIGURE_ARGS+=--enable-tokenizer
.endif
.if defined(WITH_UNIXODBC)
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if defined(WITH_WDDX)
CONFIGURE_ARGS+=--enable-wddx
.endif
.if defined(WITH_XML) || defined(WITH_XML_DEP)
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--with-expat-dir=${LOCALBASE}
.endif
.if defined(WITH_XML)
CONFIGURE_ARGS+=--enable-xml
.endif
.if defined(WITH_XMLRPC)
CONFIGURE_ARGS+=--with-xmlrpc
.endif
.if defined(WITH_XSLT)
LIB_DEPENDS+= sablot.70:${PORTSDIR}/textproc/sablotron
CONFIGURE_ARGS+=--enable-xslt --with-xslt-sablot=${LOCALBASE}
.endif
.if defined(WITH_YAZ)
LIB_DEPENDS+= yaz.2:${PORTSDIR}/net/yaz
CONFIGURE_ARGS+=--with-yaz=${LOCALBASE}/bin
.endif
.if defined(WITH_YP)
CONFIGURE_ARGS+=--enable-yp
.endif
.if defined(WITH_ZIP)
LIB_DEPENDS+= zzip.10:${PORTSDIR}/devel/zziplib
CONFIGURE_ARGS+=--with-zip=${LOCALBASE}
.endif
.if defined(WITH_ZLIB)
CONFIGURE_ARGS+=--with-zlib=yes
.if ${PHP_SAPI} == "cgi"
SAPI_FILE= bin/php
.endif
.include <bsd.port.pre.mk>
@ -553,7 +112,7 @@ CONFIGURE_ENV= ac_cv_pthreads_lib=${WITH_PTHREAD_LIBS} \
ac_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
.endif
.if !defined(WITHOUT_APACHE)
.if defined(WITH_APACHE)
.if exists(${LOCALBASE}/include/apache2/httpd.h)
WITH_APACHE2= yes
APACHE_MPM!= ${APXS} -q MPM_NAME
@ -586,78 +145,30 @@ PLIST_SUB+= SAPI_FILE=${SAPI_FILE}
CONFIGURE_ARGS+=--disable-ipv6
.endif
.if defined(WITH_IMAP)
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
.if !exists(${LOCALBASE}/lib/libc-client4.so)
.if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
.else
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.if ${PHP_SAPI} == "cgi"
.if defined(WITH_REDIRECT)
CONFIGURE_ARGS+=--enable-force-cgi-redirect
.endif
.else
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
.if !empty(WITH_IMAP_SSL)
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
.else
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.if defined(WITH_DISCARD)
CONFIGURE_ARGS+=--enable-discard-path
.endif
.if defined(WITH_FASTCGI)
CONFIGURE_ARGS+=--enable-fastcgi
.endif
.if defined(WITHOUT_PATHINFO)
CONFIGURE_ARGS+=--disable-path-info-check
.endif
.if defined(WITH_NCURSES)
.if ${OSVERSION} < 400000
NCURSESBASE= ${LOCALBASE}
LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses
.else
NCURSESBASE= /usr
.endif
CONFIGURE_ARGS+=--with-ncurses=${NCURSESBASE}
.endif
.if defined(WITH_SNMP)
.if exists(${LOCALBASE}/lib/libsnmp.so.4) || defined(WITH_SNMP4)
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
.else
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
.endif
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack
.endif
_PORTSDIR!= ${REALPATH} ${PORTSDIR}
PHP_PORT= ${.CURDIR:S|^${_PORTSDIR}||:S|^/||}
pre-patch:
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php
post-patch:
@${REINPLACE_CMD} -e "s|orainst/unix.rgs|ocommon/install/partial.prd|g" \
${WRKSRC}/configure
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
@${TOUCH} ${WRKSRC}/ext/php_config.h
.if ${PHP_SAPI} == "full"
pre-configure:
@${ECHO_CMD} ""
.if defined(WITH_IMAP) && defined(WITH_RECODE)
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_RECODE!"
@${FALSE}
.endif
.if defined(WITH_IMAP) && defined(WITH_YAZ)
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_YAZ!"
@${FALSE}
.endif
.if defined(WITH_RECODE) && defined(WITH_YAZ)
@${ECHO_CMD} "You cannot define WITH_RECODE *and* WITH_YAZ!"
@${FALSE}
.endif
.if defined(WITH_SYBASEDB) && defined(WITH_SYBASECT)
@${ECHO_CMD} "You cannot define WITH_SYBASEDB *and* WITH_SYBASECT!"
@${FALSE}
.endif
.if defined(WITH_GD) && !defined(WITH_LZW)
@${ECHO_CMD} "To enable LZW-compressed GIF support in GD define the WITH_LZW knob."
@${ECHO_CMD} ""
.endif
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "You are building the Apache Module and the Command Line Interpreter of PHP."
@${ECHO_CMD} ""
@${ECHO_CMD} "Use port:"
@ -672,55 +183,23 @@ post-build:
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_EXT_DIR=${EXT_DIR}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_PORT=\$${PORTSDIR}/${PHP_PORT}" >> ${WRKDIR}/php.conf
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
@${ECHO_CMD} "PHP_PEAR=yes" >> ${WRKDIR}/php.conf
.else
@${ECHO_CMD} "PHP_PEAR=no" >> ${WRKDIR}/php.conf
.endif
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=full" >> ${WRKDIR}/php.conf
.else
.if defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=cli" >> ${WRKDIR}/php.conf
.endif
.if !defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=mod" >> ${WRKDIR}/php.conf
.endif
.if defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=cgi" >> ${WRKDIR}/php.conf
.endif
.endif
.if !defined(WITHOUT_CLI)
@${ECHO_CMD} "You may run the tests from the PHP test framework, typing 'make test' now."
@${ECHO_CMD} "(It is safe to ignore errors about timestamp-related tests,"
@${ECHO_CMD} "since they are due to the different FreeBSD mktime() implementation)."
@${ECHO_CMD} ""
.endif
.if !defined(WITHOUT_CLI)
test: all
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} ${.TARGET})
.endif
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
post-install:
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
.endif
@${INSTALL_DATA} ${WRKSRC}/php.ini-dist ${PREFIX}/etc
@${INSTALL_DATA} ${WRKSRC}/php.ini-recommended ${PREFIX}/etc
@${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
.if !defined(WITHOUT_APACHE)
@${ECHO_CMD} "*****************************************************************************"
@${ECHO_CMD} ""
@${ECHO_CMD} "Make sure index.php is part of your DirectoryIndex."
@${ECHO_CMD} ""
@${ECHO_CMD} "You should add the following lines to your Apache configuration file:"
@${ECHO_CMD} ""
@${ECHO_CMD} "AddType application/x-httpd-php .php"
@${ECHO_CMD} "AddType application/x-httpd-php-source .phps"
@${ECHO_CMD} ""
@${ECHO_CMD} "*****************************************************************************"
@${TOUCH} ${PREFIX}/etc/php.ini
@${TOUCH} ${PREFIX}/include/php/ext/php_config.h
.if defined(WITH_APACHE)
@${CAT} ${PKGMESSAGE}
.endif
.else
.if ${PKGNAMESUFFIX} == "-pear"
.include "${MASTERDIR}/Makefile.pear"
.else
.include "${MASTERDIR}/Makefile.ext"
.endif
.endif
.include <bsd.port.post.mk>

473
lang/php4/Makefile.ext Normal file
View file

@ -0,0 +1,473 @@
COMMENT= The ${PHP_MODNAME} shared extension for php
USE_PHP= yes
USE_PHPEXT= yes
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
WRKSRC= ${WRKDIR}/php-${PORTVERSION:S/.r/RC/}/ext/${PHP_MODNAME}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
.if ${PHP_MODNAME} == "bcmath"
CONFIGURE_ARGS+=--enable-bcmath
PHP_HEADER_DIRS=libbcmath libbcmath/src
.endif
.if ${PHP_MODNAME} == "bz2"
.if exists(/usr/bin/bzip2)
BZ2BASE= /usr
.else
BZ2BASE= ${LOCALBASE}
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif
CONFIGURE_ARGS+=--with-bz2=${BZ2BASE}
.endif
.if ${PHP_MODNAME} == "calendar"
CONFIGURE_ARGS+=--enable-calendar
.endif
.if ${PHP_MODNAME} == "crack"
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "ctype"
CONFIGURE_ARGS+=--enable-ctype
.endif
.if ${PHP_MODNAME} == "curl"
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "dba"
CONFIGURE_ARGS+=--enable-dba
OPTIONS= CDB "cdb database support" on \
DB4 "Berkeley DB4 support" off \
GDBM "GDBM database support" off \
INIFILE "INI file support" on \
FLATFILE "flatfile support" on
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.endif
.if ${PHP_MODNAME} == "dbase"
CONFIGURE_ARGS+=--enable-dbase
.endif
.if ${PHP_MODNAME} == "dbx"
CONFIGURE_ARGS+=--enable-dbx
.endif
.if ${PHP_MODNAME} == "dio"
CONFIGURE_ARGS+=--enable-dio
.endif
.if ${PHP_MODNAME} == "domxml"
CONFIGURE_ARGS+=--with-dom=${LOCALBASE} \
--with-zlib-dir=/usr
USE_GNOME= libxml2
OPTIONS= XSLT "Include DOM (E)XSLT support" on
.endif
.if ${PHP_MODNAME} == "exif"
CONFIGURE_ARGS+=--enable-exif
.endif
.if ${PHP_MODNAME} == "filepro"
CONFIGURE_ARGS+=--enable-filepro
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+=--enable-ftp
.endif
.if ${PHP_MODNAME} == "gd"
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
png.5:${PORTSDIR}/graphics/png \
jpeg.9:${PORTSDIR}/graphics/jpeg
. if !defined(WITHOUT_X11)
USE_XPM= yes
. endif
CONFIGURE_ARGS+=--with-gd \
--with-freetype-dir=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE} \
--with-zlib-dir=/usr
. if !defined(WITHOUT_X11)
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
. endif
OPTIONS= T1LIB "Include T1lib support" on \
TRUETYPE "Enable TrueType string function" on \
JIS "Enable JIS-mapped Japanese font support" off \
LZW "Enable LZW-compressed GIF write support" off
PHP_HEADER_DIRS=libgd
.endif
.if ${PHP_MODNAME} == "gettext"
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
USE_GETTEXT= yes
.endif
.if ${PHP_MODNAME} == "gmp"
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "iconv"
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
.endif
.if ${PHP_MODNAME} == "imap"
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "interbase"
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
.endif
.if ${PHP_MODNAME} == "ldap"
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
USE_OPENLDAP= yes
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+=--enable-mbstring
OPTIONS= REGEX "Enable multibyte regex support" on
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
.endif
.if ${PHP_MODNAME} == "mcal"
LIB_DEPENDS+= mcal.0:${PORTSDIR}/misc/libmcal
CONFIGURE_ARGS+=--with-mcal=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mcrypt"
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
USE_LIBLTDL= yes
.endif
.if ${PHP_MODNAME} == "mcve"
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "mhash"
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "ming"
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mnogosearch"
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mssql"
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mysql"
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
USE_MYSQL= yes
.endif
.if ${PHP_MODNAME} == "ncurses"
CONFIGURE_ARGS+=--with-ncurses=/usr
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "openssl"
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "oracle"
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
.endif
.if ${PHP_MODNAME} == "overload"
CONFIGURE_ARGS+=--enable-overload
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if ${PHP_MODNAME} == "pcre"
CONFIGURE_ARGS+=--with-pcre-regex=yes
PHP_HEADER_DIRS=pcrelib
.endif
.if ${PHP_MODNAME} == "pgsql"
POSTGRESQL_PORT?= databases/postgresql7
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+=--enable-posix
.endif
.if ${PHP_MODNAME} == "pspell"
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "readline"
CONFIGURE_ARGS+=--with-readline=/usr
.endif
.if ${PHP_MODNAME} == "recode"
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "session"
CONFIGURE_ARGS+=--enable-session
.endif
.if ${PHP_MODNAME} == "shmop"
CONFIGURE_ARGS+=--enable-shmop
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE} \
--enable-ucd-snmp-hack
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
OPTIONS= SNMP4 "Use old UCD SNMP instead of the new NET SNMP" off
.endif
.if ${PHP_MODNAME} == "sockets"
CONFIGURE_ARGS+=--enable-sockets
.endif
.if ${PHP_MODNAME} == "sybase"
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sybase_ct"
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sysvmsg"
CONFIGURE_ARGS+=--enable-sysvmsg
.endif
.if ${PHP_MODNAME} == "sysvsem"
CONFIGURE_ARGS+=--enable-sysvsem
.endif
.if ${PHP_MODNAME} == "sysvshm"
CONFIGURE_ARGS+=--enable-sysvshm
.endif
.if ${PHP_MODNAME} == "tokenizer"
CONFIGURE_ARGS+=--enable-tokenizer
.endif
.if ${PHP_MODNAME} == "wddx"
CONFIGURE_ARGS+=--enable-wddx
USE_PHP= xml session
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "xml"
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--enable-xml \
--with-expat-dir=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "xmlrpc"
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--with-xmlrpc \
--with-expat-dir=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
PHP_HEADER_DIRS=libxmlrpc
.endif
.if ${PHP_MODNAME} == "xslt"
LIB_DEPENDS+= sablot.70:${PORTSDIR}/textproc/sablotron \
expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--enable-xslt \
--with-xslt-sablot=${LOCALBASE} \
--with-expat-dir=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
.endif
.if ${PHP_MODNAME} == "yp"
CONFIGURE_ARGS+=--enable-yp
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+=--with-zlib=/usr
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "dba"
. if defined(WITHOUT_CDB)
CONFIGURE_ARGS+=--without-cdb
. endif
. if defined(WITH_DB4)
WITH_DB4_VER?= 41
. if ${WITH_DB4_VER} == 42
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
. else
. if ${WITH_DB4_VER} == 4
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
. else
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
. endif
. endif
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
. endif
. if defined(WITH_GDBM)
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
. endif
. if defined(WITHOUT_INIFILE)
CONFIGURE_ARGS+=--without-inifile
. endif
. if defined(WITHOUT_FLATFILE)
CONFIGURE_ARGS+=--without-flatfile
. endif
.endif
.if ${PHP_MODNAME} == "domxml"
. if !defined(WITHOUT_XSLT)
CONFIGURE_ARGS+=--with-dom-xslt=${LOCALBASE} \
--with-dom-exslt=${LOCALBASE}
USE_GNOME+= libxslt
. endif
.endif
.if ${PHP_MODNAME} == "gd"
. if !defined(WITHOUT_T1LIB)
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
. endif
. if !defined(WITHOUT_TRUETYPE)
CONFIGURE_ARGS+=--enable-gd-native-ttf
. endif
. if defined(WITH_JIS)
CONFIGURE_ARGS+=--enable-gd-jis-conv
. endif
. if defined(WITH_LZW)
CONFIGURE_ARGS+=--enable-gd-lzw-gif
. endif
.endif
.if ${PHP_MODNAME} == "imap"
. if !exists(${LOCALBASE}/lib/libc-client4.so)
. if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
. endif
. else
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
. if !empty(WITH_IMAP_SSL)
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
. endif
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
. if defined(WITHOUT_REGEX)
CONFIGURE_ARGS+=--disable-mbregex
. endif
.endif
.if ${PHP_MODNAME} == "openssl"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "snmp"
. if defined(WITH_SNMP4) || exists(${LOCALBASE}/lib/libsnmp.so.4)
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
. else
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
. endif
.endif
.if ${PHP_MODNAME} == "zlib"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif

29
lang/php4/Makefile.pear Normal file
View file

@ -0,0 +1,29 @@
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-layout=GNU \
--disable-cgi \
--disable-all \
--with-pcre-regex=yes \
--enable-xml \
--with-expat-dir=${LOCALBASE} \
--with-zlib-dir=/usr \
--with-pear
NO_BUILD= yes
INSTALL_TARGET= install-pear
USE_PHP= pcre xml
WANT_PHP_SCR= yes
.include <bsd.port.pre.mk>
post-patch:
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
post-install:
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
@${SED} "s|\$${LOCALBASE}|${LOCALBASE}|g;s|\$${PREFIX}|${PREFIX}|g" < ${PKGMESSAGE}

View file

@ -1,477 +0,0 @@
--- configure.orig Thu Mar 25 15:03:34 2004
+++ configure Mon Mar 29 09:54:06 2004
@@ -617,6 +617,8 @@
ac_help="$ac_help
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support."
ac_help="$ac_help
+ --enable-gd-lzw-gif GD: Enable LZW-compressed GIF support."
+ac_help="$ac_help
--with-gettext[=DIR] Include GNU gettext support."
ac_help="$ac_help
--with-gmp[=DIR] Include GNU MP support"
@@ -23147,6 +23149,14 @@
THIS_PREFIX=$i
THIS_INCLUDE=$i/db4/db.h
break
+ elif test -f "$i/include/db42/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db42/db.h
+ break
+ elif test -f "$i/include/db41/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db41/db.h
+ break
elif test -f "$i/include/db4/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db4/db.h
@@ -23166,7 +23176,7 @@
fi
done
- for LIB in db-4.2 db-4.1 db-4.0 db-4 db4 db; do
+ for LIB in db-4.2 db-4.1 db-4.0 db-4 db41 db4 db; do
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
old_LDFLAGS=$LDFLAGS
@@ -29711,6 +29721,31 @@
+echo $ac_n "checking whether to enable LZW-compressed GIF support in GD""... $ac_c" 1>&6
+echo "configure:28220: checking whether to enable LZW-compressed GIF support in GD" >&5
+# Check whether --enable-gd-lzw-gif or --disable-gd-lzw-gif was given.
+if test "${enable_gd_lzw_gif+set}" = set; then
+ enableval="$enable_gd_lzw_gif"
+ PHP_GD_LZW_GIF=$enableval
+else
+
+ PHP_GD_LZW_GIF=no
+
+ if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then
+ PHP_GD_LZW_GIF=$PHP_ENABLE_ALL
+ fi
+
+fi
+
+
+ext_output=$PHP_GD_LZW_GIF
+echo "$ac_t""$ext_output" 1>&6
+
+
+
+
+
+
@@ -29863,7 +29898,7 @@
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \
- libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \
+ libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c libgd/gd_biggif_out.c libgd/gd_lzw_out.c libgd/gd_gif_out.c \
libgd/xbm.c"
for ac_func in fabsf floorf
@@ -29938,6 +29973,11 @@
fi
+ if test "$PHP_GD_LZW_GIF" = "yes"; then
+ USE_GD_LZW_GIF=1
+ fi
+
+
if test "$PHP_JPEG_DIR" != "no"; then
for i in $PHP_JPEG_DIR /usr/local /usr; do
@@ -31649,6 +31689,9 @@
cat >> confdefs.h <<\EOF
#define HAVE_GD_BUNDLED 1
+#define HAVE_GD_GIF_CREATE 1
+#define HAVE_GD_GIF_CTX 1
+#define HAVE_GD_GIF_ANIM 1
EOF
cat >> confdefs.h <<\EOF
@@ -31703,6 +31746,14 @@
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
fi
+ if test -n "$USE_GD_LZW_GIF"; then
+ cat >> confdefs.h <<\EOF
+#define LZW_LICENCED 1
+EOF
+
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DLZW_LICENCED"
+ fi
+
else
if test "$PHP_GD" != "no"; then
@@ -36052,6 +36103,137 @@
esac
done
+ echo $ac_n "checking for gdImageGifAnimBegin in -lgd""... $ac_c" 1>&6
+echo "configure:32250: checking for gdImageGifAnimBegin in -lgd" >&5
+ac_lib_var=`echo gd'_'gdImageGifAnimBegin | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lgd $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 32258 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gdImageGifAnimBegin();
+
+int main() {
+gdImageGifAnimBegin()
+; return 0; }
+EOF
+if { (eval echo configure:32269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+ cat >> confdefs.h <<\EOF
+#define HAVE_GD_GIF_ANIM 1
+EOF
+
+
+else
+ echo "$ac_t""no" 1>&6
+
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+ unset ac_cv_func_gd
+
+
+fi
+
+
+ save_old_LDFLAGS=$LDFLAGS
+ ac_stuff=" -L$GD_LIB $GD_SHARED_LIBADD "
+
+ save_ext_shared=$ext_shared
+ ext_shared=yes
+
+ for ac_i in $ac_stuff; do
+ case $ac_i in
+ -l*)
+ ac_ii=`echo $ac_i|cut -c 3-`
+
+
+ case $ac_ii in
+ c|c_r|pthread*) ;;
+ *)
+ if test "$ext_shared" = "yes"; then
+ LDFLAGS="$LDFLAGS -l$ac_ii"
+ else
+
+
+ case $ac_ii in
+ c|c_r|pthread*) ;;
+ *)
+ LIBS="$LIBS -l$ac_ii"
+ ;;
+ esac
+
+
+ fi
+ ;;
+ esac
+
+
+ ;;
+ -L*)
+ ac_ii=`echo $ac_i|cut -c 3-`
+
+ if test "$ac_ii" != "/usr/lib"; then
+
+ if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
+ ai_p=$ac_ii
+ else
+
+ ep_dir="`echo $ac_ii|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ac_ii\"`"
+ fi
+
+
+ if test "$ext_shared" = "yes"; then
+ LDFLAGS="$ld_runpath_switch$ai_p -L$ai_p $LDFLAGS"
+ else
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+ fi
+
+ fi
+
+ ;;
+ esac
+ done
+
echo $ac_n "checking for gdCacheCreate in -lgd""... $ac_c" 1>&6
echo "configure:36057: checking for gdCacheCreate in -lgd" >&5
ac_lib_var=`echo gd'_'gdCacheCreate | sed 'y%./+-%__p_%'`
@@ -62586,6 +62768,102 @@
if test "$ext_shared" = "yes"; then
+ ORACLE_SHARED_LIBADD="-lwrap $ORACLE_SHARED_LIBADD"
+ if test -n "$ORACLE_DIR/lib"; then
+
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
+
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
+ ai_p=$ORACLE_DIR/lib
+ else
+
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
+ fi
+
+
+ if test "$ext_shared" = "yes"; then
+ ORACLE_SHARED_LIBADD="$ld_runpath_switch$ai_p -L$ai_p $ORACLE_SHARED_LIBADD"
+ else
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+ fi
+
+ fi
+
+ fi
+ else
+
+
+ if test -n "$ORACLE_DIR/lib"; then
+
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
+
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
+ ai_p=$ORACLE_DIR/lib
+ else
+
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
+ fi
+
+
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+
+ fi
+
+ fi
+
+
+ case wrap in
+ c|c_r|pthread*) ;;
+ *)
+ LIBS="-lwrap $LIBS"
+ ;;
+ esac
+
+
+
+
+ fi
+
+
+
+
+ if test "$ext_shared" = "yes"; then
ORACLE_SHARED_LIBADD="-lnlsrtl3 $ORACLE_SHARED_LIBADD"
if test -n "$ORACLE_DIR/lib"; then
@@ -79741,29 +80019,6 @@
else
- case cs in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lcs $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case cs in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lcs $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
case ct in
c|c_r|pthread*) ;;
*)
@@ -79787,52 +80042,7 @@
- case comn in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lcomn $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case comn in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lcomn $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
- case intl in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lintl $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case intl in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lintl $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lcs -lct -lcomn -lintl"
+ SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
save_old_LDFLAGS=$LDFLAGS
@@ -79967,38 +80177,6 @@
c|c_r|pthread*) ;;
*)
LIBS="-ltcl $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
-else
- echo "$ac_t""no" 1>&6
-
- LDFLAGS=$save_old_LDFLAGS
- ext_shared=$save_ext_shared
- unset ac_cv_func_tcl
-
-
-
- case sybtcl in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lsybtcl $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case sybtcl in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lsybtcl $LIBS"
;;
esac

View file

@ -1,50 +0,0 @@
--- ext/gd/gd.c.orig Wed Jun 4 02:22:30 2003
+++ ext/gd/gd.c Sat Jun 28 15:47:56 2003
@@ -206,6 +206,11 @@
#ifdef HAVE_GD_GIF_CREATE
PHP_FE(imagegif, NULL)
#endif
+#ifdef HAVE_GD_GIF_ANIM
+ PHP_FE(imagegifanimbegin, NULL)
+ PHP_FE(imagegifanimadd, NULL)
+ PHP_FE(imagegifanimend, NULL)
+#endif
#ifdef HAVE_GD_JPG
PHP_FE(imagejpeg, NULL)
#endif
@@ -1707,11 +1712,35 @@
#ifdef HAVE_GD_GIF_CTX
_php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx);
#else
+
+#ifdef HAVE_GD_BUNDLED
+#error "I really think there should be ctx version of imagegif in the bundled GD library. Fix the configuration."
+#endif
+
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGif);
#endif
}
/* }}} */
#endif /* HAVE_GD_GIF_CREATE */
+
+#ifdef HAVE_GD_GIF_ANIM
+/* {{{ proto int imagegifanimbegin(int im [, string filename [, int GlobalColormap [, int Loops]]])
+ Begin GIF animation. Image parameter is only used for size and colormap,
+ all animation frames must be added separately. */
+PHP_FUNCTION(imagegifanimbegin)
+{
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMBEGIN, "GIF", gdImageGifAnimBeginCtx);
+}
+/* }}} */
+
+/* {{{ proto int imagegifanimadd(int im [, string filename [, int LocalColormap [, LeftOfs [, int TopOfs [, int Delay [, int Disposal]]]]]])
+ Append GIF image to animation */
+PHP_FUNCTION(imagegifanimadd)
+{
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMADD, "GIF", gdImageGifAnimAddCtx);
+}
+/* }}} */
+#endif /* HAVE_GD_GIF_ANIM */
#ifdef HAVE_GD_PNG
/* {{{ proto int imagepng(int im [, string filename])

View file

@ -1,158 +0,0 @@
--- ext/gd/gd_ctx.c.orig Wed Mar 12 05:16:31 2003
+++ ext/gd/gd_ctx.c Sat Jun 28 15:47:56 2003
@@ -24,17 +24,22 @@
static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)())
{
- zval **imgind, **file, **quality;
+ zval **imgind, **file, **quality, **lo, **to, **del, **dis;
gdImagePtr im;
char *fn = NULL;
FILE *fp = NULL;
int argc = ZEND_NUM_ARGS();
int q = -1, i;
+#ifdef HAVE_GD_GIF_ANIM
+ int LeftOfs = -1, TopOfs = -1, Delay = -1, Disposal = -1;
+#endif /* HAVE_GD_GIF_ANIM */
gdIOCtx *ctx;
/* The quality parameter for Wbmp stands for the threshold when called from image2wbmp() */
+ /* The quality parameter for GIF animation stands for colormap inclusion. 1==include local/global colormap */
+ /* The LeftOfs parameter for GIF animation begin stands for NETSCAPE2.0 Loop count extension. */
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &imgind, &file, &quality) == FAILURE)
+ if (argc < 1 || argc > 7 || zend_get_parameters_ex(argc, &imgind, &file, &quality, &lo, &to, &del, &dis) == FAILURE)
{
WRONG_PARAM_COUNT;
}
@@ -44,11 +49,29 @@
if (argc > 1) {
convert_to_string_ex(file);
fn = Z_STRVAL_PP(file);
- if (argc == 3) {
- convert_to_long_ex(quality);
- q = Z_LVAL_PP(quality);
- }
}
+ if (argc >= 3) {
+ convert_to_long_ex(quality);
+ q = Z_LVAL_PP(quality);
+ }
+#ifdef HAVE_GD_GIF_ANIM
+ if (argc >= 4) {
+ convert_to_long_ex(lo);
+ LeftOfs = Z_LVAL_PP(lo);
+ }
+ if (argc >= 5) {
+ convert_to_long_ex(to);
+ TopOfs = Z_LVAL_PP(to);
+ }
+ if (argc >= 6) {
+ convert_to_long_ex(del);
+ Delay = Z_LVAL_PP(del);
+ }
+ if (argc >= 7) {
+ convert_to_long_ex(dis);
+ Disposal = Z_LVAL_PP(dis);
+ }
+#endif /* HAVE_GD_GIF_ANIM */
if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
@@ -56,7 +79,7 @@
RETURN_FALSE;
}
- fp = VCWD_FOPEN(fn, "wb");
+ fp = VCWD_FOPEN(fn, PHP_GDIMG_TYPE_GIFANIMADD == image_type ? "ab" : "wb");
if (!fp) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
RETURN_FALSE;
@@ -94,6 +117,14 @@
}
(*func_p)(im, i, ctx);
break;
+#ifdef HAVE_GD_GIF_ANIM
+ case PHP_GDIMG_TYPE_GIFANIMBEGIN:
+ (*func_p)(im, ctx, q, LeftOfs);
+ break;
+ case PHP_GDIMG_TYPE_GIFANIMADD:
+ (*func_p)(im, ctx, q, LeftOfs, TopOfs, Delay, Disposal);
+ break;
+#endif /* HAVE_GD_GIF_ANIM */
default:
(*func_p)(im, ctx);
break;
@@ -112,3 +143,72 @@
RETURN_TRUE;
}
+
+#ifdef HAVE_GD_GIF_ANIM
+/* {{{ proto int imagegifanimend([string filename])
+ Write end mark to gif animation. */
+PHP_FUNCTION(imagegifanimend)
+{
+ zval **file;
+ char *fn = NULL;
+ FILE *fp = NULL;
+ int argc = ZEND_NUM_ARGS();
+ gdIOCtx *ctx;
+
+ if (argc < 0 || argc > 1 || zend_get_parameters_ex(argc, &file) == FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+
+ if (argc >= 1) {
+ convert_to_string_ex(file);
+ fn = Z_STRVAL_PP(file);
+ }
+
+ if ((argc == 1) || (argc > 1 && Z_STRLEN_PP(file))) {
+ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
+
+ fp = VCWD_FOPEN(fn, "ab");
+ if (!fp) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
+ RETURN_FALSE;
+ }
+
+ ctx = gdNewFileCtx(fp);
+ } else {
+ ctx = emalloc(sizeof(gdIOCtx));
+ ctx->putC = _php_image_output_putc;
+ ctx->putBuf = _php_image_output_putbuf;
+#if HAVE_LIBGD204
+ ctx->gd_free = _php_image_output_ctxfree;
+#else
+ ctx->free = _php_image_output_ctxfree;
+#endif
+
+#if APACHE && defined(CHARSET_EBCDIC)
+ /* XXX this is unlikely to work any more thies@thieso.net */
+ /* This is a binary file already: avoid EBCDIC->ASCII conversion */
+ ap_bsetflag(php3_rqst->connection->client, B_EBCDIC2ASCII, 0);
+#endif
+ }
+
+ /* This could be coded in here, as it only outputs ';' */
+ gdImageGifAnimEndCtx(ctx);
+
+#if HAVE_LIBGD204
+ ctx->gd_free(ctx);
+#else
+ ctx->free(ctx);
+#endif
+
+ if(fp) {
+ fflush(fp);
+ fclose(fp);
+ }
+
+ RETURN_TRUE;
+}
+/* }}} */
+#endif /* HAVE_GD_GIF_ANIM */

View file

@ -1,45 +0,0 @@
--- ext/gd/libgd/gd.h.orig Wed Apr 9 03:55:56 2003
+++ ext/gd/libgd/gd.h Sat Jun 28 15:47:56 2003
@@ -446,6 +446,30 @@
gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in);
gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in);
+void gdImageLzw(gdImagePtr im, FILE *out);
+void* gdImageLzwPtr(gdImagePtr im, int *size);
+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out);
+
+void gdImageBigGif(gdImagePtr im, FILE *out);
+void* gdImageBigGifPtr(gdImagePtr im, int *size);
+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out);
+
+void gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops);
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageBigGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageGifAnimEnd(FILE *outFile);
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops);
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageBigGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageGifAnimEndCtx(gdIOCtx *out);
+void *gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops);
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageBigGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageGifAnimEndPtr(int *size);
+
/* A custom data sink. For backwards compatibility. Use
gdIOCtx instead. */
/* The sink function must return -1 on error, otherwise the number
@@ -457,6 +481,11 @@
} gdSink, *gdSinkPtr;
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out);
+
+void gdImageGif (gdImagePtr im, FILE *out);
+void* gdImageGifPtr (gdImagePtr im, int *size);
+void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out);
+void gdImageGifToSink (gdImagePtr im, gdSinkPtr out);
void gdImageGd(gdImagePtr im, FILE *out);
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);

File diff suppressed because it is too large Load diff

View file

@ -1,73 +0,0 @@
--- ext/gd/libgd/gd_gif_out.c.orig Sat Jun 28 15:47:56 2003
+++ ext/gd/libgd/gd_gif_out.c Sat Jun 28 16:07:33 2003
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gd.h"
+
+/*
+** Wrapper functions for GIF output.
+*/
+
+void gdImageGifToSink(gdImagePtr im, gdSinkPtr outSink)
+{
+ gdIOCtx *out = gdNewSSCtx(NULL,outSink);
+ gdImageGifCtx(im, out);
+ out->gd_free(out);
+}
+
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwCtx(im, out);
+#else
+ gdImageBigGifCtx(im, out);
+#endif
+}
+
+void gdImageGif(gdImagePtr im, FILE *outFile)
+{
+#ifdef LZW_LICENCED
+ gdImageLzw(im, outFile);
+#else
+ gdImageBigGif(im, outFile);
+#endif
+}
+
+void* gdImageGifPtr(gdImagePtr im, int *size)
+{
+#ifdef LZW_LICENCED
+ return gdImageLzwPtr(im, size);
+#else
+ return gdImageBigGifPtr(im, size);
+#endif
+}
+
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ gdImageBigGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}
+
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ gdImageBigGifAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}
+
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ return gdImageLzwAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ return gdImageBigGifAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}

View file

@ -1,939 +0,0 @@
--- ext/gd/libgd/gd_lzw_out.c.orig Sat Jun 28 15:47:56 2003
+++ ext/gd/libgd/gd_lzw_out.c Sat Jun 28 16:01:04 2003
@@ -0,0 +1,936 @@
+#ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+#endif
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gd.h"
+
+/* Code drawn from ppmtogif.c, from the pbmplus package
+**
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
+** Lempel-Zim compression based on "compress".
+**
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
+**
+** Copyright (C) 1989 by Jef Poskanzer.
+**
+** Permission to use, copy, modify, and distribute this software and its
+** documentation for any purpose and without fee is hereby granted, provided
+** that the above copyright notice appear in all copies and that both that
+** copyright notice and this permission notice appear in supporting
+** documentation. This software is provided "as is" without express or
+** implied warranty.
+**
+** The Graphics Interchange Format(c) is the Copyright property of
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
+** CompuServe Incorporated.
+*/
+
+/*
+ * a code_int must be able to hold 2**GIFBITS values of type int, and also -1
+ */
+typedef int code_int;
+
+#ifdef SIGNED_COMPARE_SLOW
+typedef unsigned long int count_int;
+typedef unsigned short int count_short;
+#else /*SIGNED_COMPARE_SLOW*/
+typedef long int count_int;
+#endif /*SIGNED_COMPARE_SLOW*/
+
+static int colorstobpp(int colors);
+static void BumpPixel (void);
+static int GIFNextPixel (gdImagePtr im);
+static void GIFEncode (gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
+static void GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
+/*static void Putword (int w, gdIOCtx *fp); */
+static void compress (int init_bits, gdIOCtx *outfile, gdImagePtr im);
+static void output (code_int code);
+static void cl_block (void);
+static void cl_hash (register count_int hsize);
+static void char_init (void);
+static void char_out (int c);
+static void flush_char (void);
+/* Allows for reuse */
+static void init_statics(void);
+
+void gdImageLzwCtx(gdImagePtr im, gdIOCtx *out)
+{
+ int interlace, transparent, BitsPerPixel;
+
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code */
+ init_statics();
+ /* All set, let's do it. */
+ GIFEncode(
+ out, im->sx, im->sy, interlace, 0, transparent, BitsPerPixel,
+ im->red, im->green, im->blue, im);
+}
+
+void gdImageLzw(gdImagePtr im, FILE *outFile)
+{
+ gdIOCtx *out = gdNewFileCtx(outFile);
+ gdImageLzwCtx(im, out);
+ out->gd_free(out);
+}
+
+void* gdImageLzwPtr(gdImagePtr im, int *size)
+{
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ gdImageLzwCtx(im, out);
+ rv = gdDPExtractData(out,size);
+ out->gd_free(out);
+ return rv;
+}
+
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ int interlace, transparent, BitsPerPixel;
+
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code */
+ init_statics();
+ /* All set, let's do it. */
+ GIFAnimEncode(
+ out, im->sx, im->sy, LeftOfs, TopOfs, interlace, transparent,
+ Delay, Disposal, BitsPerPixel,
+ LocalCM > 0 ? im->red : 0, im->green, im->blue, im);
+}
+
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ gdIOCtx *out = gdNewFileCtx(outFile);
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+ out->gd_free(out);
+}
+
+void* gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+ rv = gdDPExtractData(out,size);
+ out->gd_free(out);
+ return rv;
+}
+
+
+
+static int
+colorstobpp(int colors)
+{
+ int bpp = 0;
+
+ if ( colors <= 2 )
+ bpp = 1;
+ else if ( colors <= 4 )
+ bpp = 2;
+ else if ( colors <= 8 )
+ bpp = 3;
+ else if ( colors <= 16 )
+ bpp = 4;
+ else if ( colors <= 32 )
+ bpp = 5;
+ else if ( colors <= 64 )
+ bpp = 6;
+ else if ( colors <= 128 )
+ bpp = 7;
+ else if ( colors <= 256 )
+ bpp = 8;
+ return bpp;
+ }
+
+/*****************************************************************************
+ *
+ * GIFENCODE.C - GIF Image compression interface
+ *
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background, Transparent,
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
+ *
+ *****************************************************************************/
+
+#define TRUE 1
+#define FALSE 0
+
+static int Width, Height;
+static int curx, cury;
+static long CountDown;
+static int Pass = 0;
+static int Interlace;
+
+/*
+ * Bump the 'curx' and 'cury' to point to the next pixel
+ */
+static void
+BumpPixel(void)
+{
+ /*
+ * Bump the current X position
+ */
+ ++curx;
+
+ /*
+ * If we are at the end of a scan line, set curx back to the beginning
+ * If we are interlaced, bump the cury to the appropriate spot,
+ * otherwise, just increment it.
+ */
+ if( curx == Width ) {
+ curx = 0;
+
+ if( !Interlace )
+ ++cury;
+ else {
+ switch( Pass ) {
+
+ case 0:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 4;
+ }
+ break;
+
+ case 1:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 2;
+ }
+ break;
+
+ case 2:
+ cury += 4;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 1;
+ }
+ break;
+
+ case 3:
+ cury += 2;
+ break;
+ }
+ }
+ }
+}
+
+/*
+ * Return the next pixel from the image
+ */
+static int
+GIFNextPixel(gdImagePtr im)
+{
+ int r;
+
+ if( CountDown == 0 )
+ return EOF;
+
+ --CountDown;
+
+ r = gdImageGetPixel(im, curx, cury);
+
+ BumpPixel();
+
+ return r;
+}
+
+/* public */
+
+static void
+GIFEncode(gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
+{
+ int B;
+ int RWidth, RHeight;
+ int LeftOfs, TopOfs;
+ int Resolution;
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ RWidth = Width = GWidth;
+ RHeight = Height = GHeight;
+ LeftOfs = TopOfs = 0;
+
+ Resolution = BitsPerPixel;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write the Magic header
+ */
+ gdPutBuf( Transparent < 0 ? "GIF87a" : "GIF89a", 6, fp );
+
+ /*
+ * Write out the screen width and height
+ */
+ Putword( RWidth, fp );
+ Putword( RHeight, fp );
+
+ /*
+ * Indicate that there is a global colour map
+ */
+ B = 0x80; /* Yes, there is a color map */
+
+ /*
+ * OR in the resolution
+ */
+ B |= (Resolution - 1) << 5;
+
+ /*
+ * OR in the Bits per Pixel
+ */
+ B |= (BitsPerPixel - 1);
+
+ /*
+ * Write it out
+ */
+ gdPutC( B, fp );
+
+ /*
+ * Write out the Background colour
+ */
+ gdPutC( Background, fp );
+
+ /*
+ * Byte of 0's (future expansion)
+ */
+ gdPutC( 0, fp );
+
+ /*
+ * Write out the Global Colour Map
+ */
+ for( i=0; i<ColorMapSize; ++i ) {
+ gdPutC( Red[i], fp );
+ gdPutC( Green[i], fp );
+ gdPutC( Blue[i], fp );
+ }
+
+ /*
+ * Write out extension for transparent colour index, if necessary.
+ */
+ if ( Transparent >= 0 ) {
+ gdPutC( '!', fp );
+ gdPutC( 0xf9, fp );
+ gdPutC( 4, fp );
+ gdPutC( 1, fp );
+ gdPutC( 0, fp );
+ gdPutC( 0, fp );
+ gdPutC( (unsigned char) Transparent, fp );
+ gdPutC( 0, fp );
+ }
+
+ /*
+ * Write an Image separator
+ */
+ gdPutC( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putword( LeftOfs, fp );
+ Putword( TopOfs, fp );
+ Putword( Width, fp );
+ Putword( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ */
+ if( Interlace )
+ gdPutC( 0x40, fp );
+ else
+ gdPutC( 0x00, fp );
+
+ /*
+ * Write out the initial code size
+ */
+ gdPutC( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ gdPutC( 0, fp );
+
+ /*
+ * Write the GIF file terminator
+ */
+ gdPutC( ';', fp );
+}
+
+static void
+GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
+{
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ if (LeftOfs < 0) LeftOfs = 0;
+ if (TopOfs < 0) TopOfs = 0;
+ if (Delay < 0) Delay = 100;
+ if (Disposal < 0) Disposal = 2;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ Width = IWidth;
+ Height = IHeight;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write out extension for image animation and looping
+ */
+ gdPutC( '!', fp );
+ gdPutC( 0xf9, fp );
+ gdPutC( 4, fp );
+ gdPutC( (Transparent >= 0 ? 1 : 0)
+ | (Disposal << 2), fp );
+ gdPutC( (unsigned char)(Delay & 255), fp );
+ gdPutC( (unsigned char)((Delay >> 8) & 255), fp );
+ gdPutC( (unsigned char) Transparent, fp );
+ gdPutC( 0, fp );
+
+ /*
+ * Write an Image separator
+ */
+ gdPutC( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putword( LeftOfs, fp );
+ Putword( TopOfs, fp );
+ Putword( Width, fp );
+ Putword( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ * and if it includes local colour map.
+ */
+ gdPutC( (Interlace ? 0x40 : 0)
+ | (Red ? 0x80 : 0)
+ | (Red ? BitsPerPixel - 1 : 0), fp );
+
+ /*
+ * Write out the Local Colour Map
+ */
+ if (Red)
+ for( i=0; i<ColorMapSize; ++i ) {
+ gdPutC( Red[i], fp );
+ gdPutC( Green[i], fp );
+ gdPutC( Blue[i], fp );
+ }
+
+ /*
+ * Write out the initial code size
+ */
+ gdPutC( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ gdPutC( 0, fp );
+}
+
+/* */
+/* * Write out a word to the GIF file */
+/* */
+/*static void */
+/*Putword(int w, FILE *fp) */
+/*{ */
+/* fputc( w & 0xff, fp ); */
+/* fputc( (w / 256) & 0xff, fp ); */
+/*} */
+
+
+/***************************************************************************
+ *
+ * GIFCOMPR.C - GIF Image compression routines
+ *
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
+ *
+ ***************************************************************************/
+
+/*
+ * General DEFINEs
+ */
+
+#define GIFBITS 12
+
+#define HSIZE 5003 /* 80% occupancy */
+
+#ifdef NO_UCHAR
+ typedef char char_type;
+#else /*NO_UCHAR*/
+ typedef unsigned char char_type;
+#endif /*NO_UCHAR*/
+
+/*
+ *
+ * GIF Image compression - modified 'compress'
+ *
+ * Based on: compress.c - File compression ala IEEE Computer, June 1984.
+ *
+ * By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
+ * Jim McKie (decvax!mcvax!jim)
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
+ * James A. Woods (decvax!ihnp4!ames!jaw)
+ * Joe Orost (decvax!vax135!petsd!joe)
+ *
+ */
+#include <ctype.h>
+
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
+
+static int n_bits; /* number of bits/code */
+static int maxbits = GIFBITS; /* user settable max # bits/code */
+static code_int maxcode; /* maximum code, given n_bits */
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER generate this code */
+#ifdef COMPATIBLE /* But wrong! */
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
+#else /*COMPATIBLE*/
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
+#endif /*COMPATIBLE*/
+
+static count_int htab [HSIZE];
+static unsigned short codetab [HSIZE];
+#define HashTabOf(i) htab[i]
+#define CodeTabOf(i) codetab[i]
+
+static code_int hsize = HSIZE; /* for dynamic table sizing */
+
+/*
+ * To save much memory, we overlay the table used by compress() with those
+ * used by decompress(). The tab_prefix table is the same size and type
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters. We
+ * get this from the beginning of htab. The output stack uses the rest
+ * of htab, and contains characters. There is plenty of room for any
+ * possible stack (stack used to be 8000 characters).
+ */
+
+#define tab_prefixof(i) CodeTabOf(i)
+#define tab_suffixof(i) ((char_type*)(htab))[i]
+#define de_stack ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
+
+static code_int free_ent = 0; /* first unused entry */
+
+/*
+ * block compression parameters -- after all codes are used up,
+ * and compression rate changes, start over.
+ */
+static int clear_flg = 0;
+
+static int offset;
+static long int in_count = 1; /* length of input */
+static long int out_count = 0; /* # of codes output (for debugging) */
+
+/*
+ * compress stdin to stdout
+ *
+ * Algorithm: use open addressing double hashing (no chaining) on the
+ * prefix code / next character combination. We do a variant of Knuth's
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
+ * secondary probe. Here, the modular division first probe is gives way
+ * to a faster exclusive-or manipulation. Also do block compression with
+ * an adaptive reset, whereby the code table is cleared when the compression
+ * ratio decreases, but after the table fills. The variable-length output
+ * codes are re-sized at this point, and a special CLEAR code is generated
+ * for the decompressor. Late addition: construct the table according to
+ * file size for noticeable speed improvement on small files. Please direct
+ * questions about this implementation to ames!jaw.
+ */
+
+static int g_init_bits;
+static gdIOCtx* g_outfile;
+
+static int ClearCode;
+static int EOFCode;
+
+static void
+compress(int init_bits, gdIOCtx *outfile, gdImagePtr im)
+{
+ register long fcode;
+ register code_int i /* = 0 */;
+ register int c;
+ register code_int ent;
+ register code_int disp;
+ register code_int hsize_reg;
+ register int hshift;
+
+ /*
+ * Set up the globals: g_init_bits - initial number of bits
+ * g_outfile - pointer to output file
+ */
+ g_init_bits = init_bits;
+ g_outfile = outfile;
+
+ /*
+ * Set up the necessary values
+ */
+ offset = 0;
+ out_count = 0;
+ clear_flg = 0;
+ in_count = 1;
+ maxcode = MAXCODE(n_bits = g_init_bits);
+
+ ClearCode = (1 << (init_bits - 1));
+ EOFCode = ClearCode + 1;
+ free_ent = ClearCode + 2;
+
+ char_init();
+
+ ent = GIFNextPixel( im );
+
+ hshift = 0;
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
+ ++hshift;
+ hshift = 8 - hshift; /* set hash code range bound */
+
+ hsize_reg = hsize;
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
+
+ output( (code_int)ClearCode );
+
+#ifdef SIGNED_COMPARE_SLOW
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
+#else /*SIGNED_COMPARE_SLOW*/
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+
+ ++in_count;
+
+ fcode = (long) (((long) c << maxbits) + ent);
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
+ goto nomatch;
+ disp = hsize_reg - i; /* secondary hash (after G. Knott) */
+ if ( i == 0 )
+ disp = 1;
+probe:
+ if ( (i -= disp) < 0 )
+ i += hsize_reg;
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ }
+ if ( (long)HashTabOf (i) > 0 )
+ goto probe;
+nomatch:
+ output ( (code_int) ent );
+ ++out_count;
+ ent = c;
+#ifdef SIGNED_COMPARE_SLOW
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
+#else /*SIGNED_COMPARE_SLOW*/
+ if ( free_ent < maxmaxcode ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
+ HashTabOf (i) = fcode;
+ } else
+ cl_block();
+ }
+ /*
+ * Put out the final code.
+ */
+ output( (code_int)ent );
+ ++out_count;
+ output( (code_int) EOFCode );
+}
+
+/*****************************************************************
+ * TAG( output )
+ *
+ * Output the given code.
+ * Inputs:
+ * code: A n_bits-bit integer. If == -1, then EOF. This assumes
+ * that n_bits =< (long)wordsize - 1.
+ * Outputs:
+ * Outputs code to the file.
+ * Assumptions:
+ * Chars are 8 bits long.
+ * Algorithm:
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
+ * fit in it exactly). Use the VAX insv instruction to insert each
+ * code in turn. When the buffer fills up empty it and start over.
+ */
+
+static unsigned long cur_accum = 0;
+static int cur_bits = 0;
+
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
+ 0x001F, 0x003F, 0x007F, 0x00FF,
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
+
+static void
+output(code_int code)
+{
+ cur_accum &= masks[ cur_bits ];
+
+ if( cur_bits > 0 )
+ cur_accum |= ((long)code << cur_bits);
+ else
+ cur_accum = code;
+
+ cur_bits += n_bits;
+
+ while( cur_bits >= 8 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ /*
+ * If the next entry is going to be too big for the code size,
+ * then increase it, if possible.
+ */
+ if ( free_ent > maxcode || clear_flg ) {
+
+ if( clear_flg ) {
+
+ maxcode = MAXCODE (n_bits = g_init_bits);
+ clear_flg = 0;
+
+ } else {
+
+ ++n_bits;
+ if ( n_bits == maxbits )
+ maxcode = maxmaxcode;
+ else
+ maxcode = MAXCODE(n_bits);
+ }
+ }
+
+ if( code == EOFCode ) {
+ /*
+ * At EOF, write the rest of the buffer.
+ */
+ while( cur_bits > 0 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ flush_char();
+
+/* fflush( g_outfile ); */
+/* */
+/* if( ferror( g_outfile ) ) */
+/* return; */
+ }
+}
+
+/*
+ * Clear out the hash table
+ */
+static void
+cl_block (void) /* table clear for block compress */
+{
+
+ cl_hash ( (count_int) hsize );
+ free_ent = ClearCode + 2;
+ clear_flg = 1;
+
+ output( (code_int)ClearCode );
+}
+
+static void
+cl_hash(register count_int hsize) /* reset code table */
+
+{
+
+ register count_int *htab_p = htab+hsize;
+
+ register long i;
+ register long m1 = -1;
+
+ i = hsize - 16;
+ do { /* might use Sys V memset(3) here */
+ *(htab_p-16) = m1;
+ *(htab_p-15) = m1;
+ *(htab_p-14) = m1;
+ *(htab_p-13) = m1;
+ *(htab_p-12) = m1;
+ *(htab_p-11) = m1;
+ *(htab_p-10) = m1;
+ *(htab_p-9) = m1;
+ *(htab_p-8) = m1;
+ *(htab_p-7) = m1;
+ *(htab_p-6) = m1;
+ *(htab_p-5) = m1;
+ *(htab_p-4) = m1;
+ *(htab_p-3) = m1;
+ *(htab_p-2) = m1;
+ *(htab_p-1) = m1;
+ htab_p -= 16;
+ } while ((i -= 16) >= 0);
+
+ for ( i += 16; i > 0; --i )
+ *--htab_p = m1;
+}
+
+/******************************************************************************
+ *
+ * GIF Specific routines
+ *
+ ******************************************************************************/
+
+/*
+ * Number of characters so far in this 'packet'
+ */
+static int a_count;
+
+/*
+ * Set up the 'byte output' routine
+ */
+static void
+char_init(void)
+{
+ a_count = 0;
+}
+
+/*
+ * Define the storage for the packet accumulator
+ */
+static char accum[ 256 ];
+
+/*
+ * Add a character to the end of the current packet, and if it is 254
+ * characters, flush the packet to disk.
+ */
+static void
+char_out(int c)
+{
+ accum[ a_count++ ] = c;
+ if( a_count >= 254 )
+ flush_char();
+}
+
+/*
+ * Flush the packet to disk, and reset the accumulator
+ */
+static void
+flush_char(void)
+{
+ if( a_count > 0 ) {
+ gdPutC( a_count, g_outfile );
+ gdPutBuf( accum, a_count, g_outfile );
+ a_count = 0;
+ }
+}
+
+static void init_statics(void) {
+ /* Some of these are properly initialized later. What I'm doing
+ here is making sure code that depends on C's initialization
+ of statics doesn't break when the code gets called more
+ than once. */
+ Width = 0;
+ Height = 0;
+ curx = 0;
+ cury = 0;
+ CountDown = 0;
+ Pass = 0;
+ Interlace = 0;
+ a_count = 0;
+ cur_accum = 0;
+ cur_bits = 0;
+ g_init_bits = 0;
+ g_outfile = 0;
+ ClearCode = 0;
+ EOFCode = 0;
+ free_ent = 0;
+ clear_flg = 0;
+ offset = 0;
+ in_count = 1;
+ out_count = 0;
+ hsize = HSIZE;
+ n_bits = 0;
+ maxbits = GIFBITS;
+ maxcode = 0;
+ maxmaxcode = (code_int)1 << GIFBITS;
+}
+
+
+/* +-------------------------------------------------------------------+ */
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */
+/* | Permission to use, copy, modify, and distribute this software | */
+/* | and its documentation for any purpose and without fee is hereby | */
+/* | granted, provided that the above copyright notice appear in all | */
+/* | copies and that both that copyright notice and this permission | */
+/* | notice appear in supporting documentation. This software is | */
+/* | provided "as is" without express or implied warranty. | */
+/* +-------------------------------------------------------------------+ */

View file

@ -1,21 +0,0 @@
--- ext/gd/php_gd.h.orig Mon Mar 31 10:49:30 2003
+++ ext/gd/php_gd.h Sat Jun 28 15:47:56 2003
@@ -40,6 +40,8 @@
#define PHP_GDIMG_TYPE_GD 8
#define PHP_GDIMG_TYPE_GD2 9
#define PHP_GDIMG_TYPE_GD2PART 10
+#define PHP_GDIMG_TYPE_GIFANIMBEGIN 11
+#define PHP_GDIMG_TYPE_GIFANIMADD 12
#ifdef PHP_WIN32
#define PHP_GD_API __declspec(dllexport)
@@ -137,6 +139,9 @@
PHP_FUNCTION(imagefontheight);
PHP_FUNCTION(imagegif );
+PHP_FUNCTION(imagegifanimbegin);
+PHP_FUNCTION(imagegifanimadd);
+PHP_FUNCTION(imagegifanimend);
PHP_FUNCTION(imagejpeg );
PHP_FUNCTION(imagepng);
PHP_FUNCTION(imagewbmp);

View file

@ -1,11 +0,0 @@
--- ext/mssql/php_mssql.c.orig Wed Apr 21 01:31:39 2004
+++ ext/mssql/php_mssql.c Tue Jun 8 15:19:55 2004
@@ -336,7 +336,7 @@
dbsetlogintime(MS_SQL_G(connect_timeout));
if (MS_SQL_G(timeout) < 0) MS_SQL_G(timeout) = 60;
dbsettime(MS_SQL_G(timeout));
- dbsetmaxprocs((SHORT)MS_SQL_G(max_procs));
+ dbsetmaxprocs((TDS_SHORT)MS_SQL_G(max_procs));
return SUCCESS;
}

View file

@ -1,13 +0,0 @@
--- ext/mssql/php_mssql.h.orig Tue Jun 8 11:24:27 2004
+++ ext/mssql/php_mssql.h Tue Jun 8 11:23:39 2004
@@ -37,9 +37,7 @@
#include "sqldb.h"
#if HAVE_FREETDS
-#ifndef SHORT
-typedef short SHORT;
-#endif
+typedef short TDS_SHORT;
#define SQLTEXT SYBTEXT
#define SQLCHAR SYBCHAR
#define SQLVARCHAR SYBVARCHAR

View file

@ -1,12 +1,12 @@
--- main/php_config.h.in.orig Thu Jun 19 00:06:40 2003
+++ main/php_config.h.in Sat Jun 28 15:47:56 2003
@@ -1523,6 +1523,9 @@
#undef HAVE_GD_GIF_CREATE
--- main/php_config.h.in.orig Tue Jul 6 16:37:01 2004
+++ main/php_config.h.in Tue Jul 6 16:40:24 2004
@@ -2452,6 +2452,9 @@
/* Whether to build zip as dynamic module */
#undef COMPILE_DL_ZIP
/* */
+#undef HAVE_GD_GIF_ANIM
+/* Include external shared modules configurations */
+#include "ext/php_config.h"
+
+/* */
#undef HAVE_GD_WBMP
/* Whether sprintf is broken */
#undef ZEND_BROKEN_SPRINTF
/* */

View file

@ -1,17 +1,19 @@
--- pear/scripts/pearcmd.php.orig Fri May 16 17:31:37 2003
+++ pear/scripts/pearcmd.php Fri May 16 17:36:10 2003
@@ -1,3 +1,4 @@
+#!%%PREFIX%%/bin/php -n -dsafe_mode=0 -doutput_buffering=1
+#!%%PREFIX%%/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1
<?php
//
// +----------------------------------------------------------------------+
@@ -24,9 +25,7 @@
@@ -24,9 +25,9 @@
/**
* @nodep Gtk
*/
-if ('@include_path@' != '@'.'include_path'.'@') {
- ini_set('include_path', '@include_path@');
-}
+dl('pcre.so');
+dl('xml.so');
+ini_set('include_path', '%%PREFIX%%/share/pear:%%PREFIX%%/share/pear/bootstrap');
ini_set('allow_url_fopen', true);
set_time_limit(0);

View file

@ -1,11 +1,17 @@
--- scripts/Makefile.frag.orig Mon Jun 28 10:35:58 2004
+++ scripts/Makefile.frag Mon Jun 28 10:36:57 2004
@@ -31,6 +31,8 @@
ext/xml \
ext/xml/expat \
--- scripts/Makefile.frag.orig Wed Jul 7 13:15:53 2004
+++ scripts/Makefile.frag Wed Jul 7 13:16:07 2004
@@ -27,14 +27,7 @@
Zend \
TSRM \
ext/standard \
- ext/session \
- ext/xml \
- ext/xml/expat \
main \
+ ext/gd \
+ ext/gd/libgd \
ext/mbstring \
ext/mbstring/libmbfl \
ext/mbstring/libmbfl/mbfl \
- ext/mbstring \
- ext/mbstring/libmbfl \
- ext/mbstring/libmbfl/mbfl \
- ext/pgsql \
regex
install-headers:

View file

@ -1,18 +0,0 @@
*****************************************************************************
You have installed the php4 package.
Have a look at the php4 port if you need additional extensions other than
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php4.tar
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
*****************************************************************************

10
lang/php4/pkg-message.mod Normal file
View file

@ -0,0 +1,10 @@
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
***************************************************************

View file

@ -0,0 +1,8 @@
*********************************************************
To use PEAR you have to add the correct include path into
your ${LOCALBASE}/etc/php.ini configuration file, like:
include_path = ".:${PREFIX}/share/pear"
*********************************************************

View file

@ -1,9 +1,10 @@
%%CLI%%%%PEAR%%bin/pear
%%CLI%%bin/php
bin/php-config
bin/phpextdist
bin/phpize
etc/php.conf
@exec touch %D/etc/php.ini
@unexec [ -s %D/etc/php.ini ] || rm %D/etc/php.ini
etc/php.ini-dist
etc/php.ini-recommended
include/php/TSRM/TSRM.h
@ -58,43 +59,6 @@ include/php/Zend/zend_static_allocator.h
include/php/Zend/zend_types.h
include/php/Zend/zend_variables.h
include/php/acconfig.h
include/php/ext/gd/gdcache.h
include/php/ext/gd/gdttf.h
include/php/ext/gd/libgd/gd.h
include/php/ext/gd/libgd/gd_io.h
include/php/ext/gd/libgd/gdcache.h
include/php/ext/gd/libgd/gdfontg.h
include/php/ext/gd/libgd/gdfontl.h
include/php/ext/gd/libgd/gdfontmb.h
include/php/ext/gd/libgd/gdfonts.h
include/php/ext/gd/libgd/gdfontt.h
include/php/ext/gd/libgd/gdhelpers.h
include/php/ext/gd/libgd/jisx0208.h
include/php/ext/gd/libgd/wbmp.h
include/php/ext/gd/php_gd.h
include/php/ext/mbstring/mbstring.h
include/php/ext/mbstring/php_mbregex.h
include/php/ext/mbstring/php_unicode.h
include/php/ext/mbstring/unicode_data.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_consts.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_language.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_string.h
include/php/ext/pgsql/php_pgsql.h
include/php/ext/session/mod_files.h
include/php/ext/session/mod_mm.h
include/php/ext/session/mod_user.h
include/php/ext/session/php_session.h
include/php/ext/standard/aggregation.h
include/php/ext/standard/base64.h
include/php/ext/standard/basic_functions.h
@ -153,19 +117,8 @@ include/php/ext/standard/uniqid.h
include/php/ext/standard/url.h
include/php/ext/standard/url_scanner.h
include/php/ext/standard/url_scanner_ex.h
include/php/ext/xml/expat/ascii.h
include/php/ext/xml/expat/asciitab.h
include/php/ext/xml/expat/expat.h
include/php/ext/xml/expat/iasciitab.h
include/php/ext/xml/expat/internal.h
include/php/ext/xml/expat/latin1tab.h
include/php/ext/xml/expat/nametab.h
include/php/ext/xml/expat/utf8tab.h
include/php/ext/xml/expat/winconfig.h
include/php/ext/xml/expat/xmlrole.h
include/php/ext/xml/expat/xmltok.h
include/php/ext/xml/expat/xmltok_impl.h
include/php/ext/xml/php_xml.h
@exec touch %D/include/php/ext/php_config.h
@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
include/php/main/SAPI.h
include/php/main/build-defs.h
include/php/main/config.nw.h
@ -215,60 +168,12 @@ lib/php/build/shtool
%%SAPI_FILE%%
%%APACHE%%@exec %D/sbin/apxs -e -a -n php4 %f
%%APACHE%%@unexec %D/sbin/apxs -e -A -n php4 %f
%%CLI%%%%PEAR%%share/pear/bootstrap/Archive/Tar.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR.php
%%CLI%%%%PEAR%%share/pear/bootstrap/System.php
%%CLI%%%%PEAR%%share/pear/bootstrap/Console/Getopt.php
%%CLI%%%%PEAR%%share/pear/bootstrap/OS/Guess.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Auth.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Build.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Common.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Config.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Install.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Mirror.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Package.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Registry.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Remote.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Autoloader.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Builder.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Common.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Config.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Dependency.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Downloader.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/ErrorStack.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Frontend/CLI.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Installer.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Packager.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Registry.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Remote.php
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC.php
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC/Server.php
@dirrm include/php/TSRM
@dirrm include/php/Zend
@dirrm include/php/ext/gd/libgd
@dirrm include/php/ext/gd
@dirrm include/php/ext/mbstring/libmbfl/mbfl
@dirrm include/php/ext/mbstring/libmbfl
@dirrm include/php/ext/mbstring
@dirrm include/php/ext/pgsql
@dirrm include/php/ext/session
@dirrm include/php/ext/standard
@dirrm include/php/ext/xml/expat
@dirrm include/php/ext/xml
@dirrm include/php/ext
@unexec rmdir %D/include/php/ext 2> /dev/null || true
@dirrm include/php/main
@dirrm include/php/regex
@dirrm include/php/
@unexec rmdir %D/include/php 2> /dev/null || true
@dirrm lib/php/build
@unexec rmdir %D/lib/php 2> /dev/null || true
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Archive
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Console
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/OS
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Command
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Frontend
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML/RPC
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap
%%CLI%%%%PEAR%%@unexec rmdir %D/share/pear 2> /dev/null || true

40
lang/php4/pkg-plist.pear Normal file
View file

@ -0,0 +1,40 @@
bin/pear
share/pear/bootstrap/Archive/Tar.php
share/pear/bootstrap/PEAR.php
share/pear/bootstrap/System.php
share/pear/bootstrap/Console/Getopt.php
share/pear/bootstrap/OS/Guess.php
share/pear/bootstrap/PEAR/Command/Auth.php
share/pear/bootstrap/PEAR/Command/Build.php
share/pear/bootstrap/PEAR/Command/Common.php
share/pear/bootstrap/PEAR/Command/Config.php
share/pear/bootstrap/PEAR/Command/Install.php
share/pear/bootstrap/PEAR/Command/Mirror.php
share/pear/bootstrap/PEAR/Command/Package.php
share/pear/bootstrap/PEAR/Command/Registry.php
share/pear/bootstrap/PEAR/Command/Remote.php
share/pear/bootstrap/PEAR/Autoloader.php
share/pear/bootstrap/PEAR/Builder.php
share/pear/bootstrap/PEAR/Command.php
share/pear/bootstrap/PEAR/Common.php
share/pear/bootstrap/PEAR/Config.php
share/pear/bootstrap/PEAR/Dependency.php
share/pear/bootstrap/PEAR/Downloader.php
share/pear/bootstrap/PEAR/ErrorStack.php
share/pear/bootstrap/PEAR/Frontend/CLI.php
share/pear/bootstrap/PEAR/Installer.php
share/pear/bootstrap/PEAR/Packager.php
share/pear/bootstrap/PEAR/Registry.php
share/pear/bootstrap/PEAR/Remote.php
share/pear/bootstrap/XML/RPC.php
share/pear/bootstrap/XML/RPC/Server.php
@dirrm share/pear/bootstrap/Archive
@dirrm share/pear/bootstrap/Console
@dirrm share/pear/bootstrap/OS
@dirrm share/pear/bootstrap/PEAR/Command
@dirrm share/pear/bootstrap/PEAR/Frontend
@dirrm share/pear/bootstrap/PEAR
@dirrm share/pear/bootstrap/XML/RPC
@dirrm share/pear/bootstrap/XML
@dirrm share/pear/bootstrap
@unexec rmdir %D/share/pear 2> /dev/null || true

View file

@ -1,111 +0,0 @@
#!/bin/sh
# $FreeBSD$
if [ -f ${WRKDIR}/Makefile.inc ]; then
exit
fi
tempfile=`/usr/bin/mktemp -t checklist`
if [ "${BATCH}" ]; then
echo "${SEL_OPTIONS}" > $tempfile
else
if [ -f "${OPTION_FILE}" ]; then
for i in `${CAT} ${OPTION_FILE}`
do
export $i
done
fi
/usr/bin/dialog --title "PHP configuration options" --clear --checklist "\n\
Please select desired options:" -1 -1 16 \
BCMATH "bc style precision math functions" ${WITH_BCMATH:-OFF} \
BZIP2 "bzip2 library support" ${WITH_BZIP2:-OFF} \
CALENDAR "calendar conversion support" ${WITH_CALENDAR:-OFF} \
CDB "cdb database support (dba)" ${WITH_CDB:-OFF} \
CRACK "crack support" ${WITH_CRACK:-OFF} \
CTYPE "ctype functions" ${WITH_CTYPE:-OFF} \
CURL "CURL support" ${WITH_CURL:-OFF} \
DB4 "Berkeley DB4 support" ${WITH_DB4:-OFF} \
DBASE "dBase library support" ${WITH_DBASE:-OFF} \
DBX "dbx support" ${WITH_DBX:-OFF} \
DIO "Direct I/O support" ${WITH_DIO:-OFF} \
DOMXML "DOM support" ${WITH_DOMXML:-OFF} \
DOMXSLT "DOM XSLT and EXSLT support (implies DOMXML)" ${WITH_DOMXSLT:-OFF} \
EXIF "EXIF support" ${WITH_EXIF:-OFF} \
FILEPRO "filePro support" ${WITH_FILEPRO:-OFF} \
FRIBIDI "FriBidi support" ${WITH_FRIBIDI:-OFF} \
FTP "FTP support" ${WITH_FTP:-OFF} \
GD "GD library support" ${WITH_GD:-OFF} \
GDBM "GDBM database support (dba)" ${WITH_GDBM:-OFF} \
GETTEXT "gettext library support" ${WITH_GETTEXT:-OFF} \
GMP "GNU MP support" ${WITH_GMP:-OFF} \
HYPERWAVE "Hyperwave support" ${WITH_HYPERWAVE:-OFF} \
ICONV "iconv support" ${WITH_ICONV:-OFF} \
IMAP "IMAP support" ${WITH_IMAP:-OFF} \
INIFILE "INI file support (dba)" ${WITH_INIFILE:-OFF} \
INTERBASE "Interbase 6 database support (Firebird)" ${WITH_INTERBASE:-OFF} \
MBSTRING "multibyte string support" ${WITH_MBSTRING:-OFF} \
MCAL "Modular Calendar Access Library support" ${WITH_MCAL:-OFF} \
MCVE "MCVE support (implies OPENSSL)" ${WITH_MCVE:-OFF} \
MCRYPT "Encryption support" ${WITH_MCRYPT:-OFF} \
MHASH "Crypto-hashing support" ${WITH_MHASH:-OFF} \
MIME "mime_magic support" ${WITH_MIME:-OFF} \
MING "ming shockwave flash support" ${WITH_MING:-OFF} \
MNOGOSEARCH "mnoGoSearch support" ${WITH_MNOGOSEARCH:-OFF} \
MSSQL "MS-SQL database support" ${WITH_MSSQL:-OFF} \
MYSQL "MySQL database support" ${WITH_MYSQL:-OFF} \
NCURSES "ncurses support (CLI only)" ${WITH_NCURSES:-OFF} \
OPENLDAP "OpenLDAP support" ${WITH_OPENLDAP:-OFF} \
OPENSSL "OpenSSL support" ${WITH_OPENSSL:-OFF} \
ORACLE "Oracle support" ${WITH_ORACLE:-OFF} \
OVERLOAD "user-space object overloading support" ${WITH_OVERLOAD:-OFF} \
PCNTL "pcntl support (CLI only)" ${WITH_PCNTL:-OFF} \
PCRE "Perl Compatible Regular Expression support" ${WITH_PCRE:-OFF} \
POSIX "POSIX-like functions" ${WITH_POSIX:-OFF} \
POSTGRESQL "PostgreSQL database support" ${WITH_POSTGRESQL:-OFF} \
PSPELL "pspell support" ${WITH_PSPELL:-OFF} \
READLINE "readline support (CLI only)" ${WITH_READLINE:-OFF} \
RECODE "recode support" ${WITH_RECODE:-OFF} \
SESSION "session support" ${WITH_SESSION:-OFF} \
SHMOP "shmop support" ${WITH_SHMOP:-OFF} \
SNMP "SNMP support (implies OPENSSL)" ${WITH_SNMP:-OFF} \
SOCKETS "sockets support" ${WITH_SOCKETS:-OFF} \
SYBASEDB "Sybase database support (DB-lib)" ${WITH_SYBASEDB:-OFF} \
SYBASECT "Sybase database support (CT-lib)" ${WITH_SYBASECT:-OFF} \
SYSVMSG "System V message support" ${WITH_SYSVMSG:-OFF} \
SYSVSEM "System V semaphore support" ${WITH_SYSVSEM:-OFF} \
SYSVSHM "System V shared memory support" ${WITH_SYSVSHM:-OFF} \
TOKENIZER "tokenizer support" ${WITH_TOKENIZER:-OFF} \
UNIXODBC "unixODBC support" ${WITH_UNIXODBC:-OFF} \
WDDX "WDDX support (implies XML)" ${WITH_WDDX:-OFF} \
XML "XML support" ${WITH_XML:-OFF} \
XMLRPC "XMLRPC-EPI support" ${WITH_XMLRPC:-OFF} \
XSLT "XSLT Sablotron support" ${WITH_XSLT:-OFF} \
YAZ "YAZ support (ANSI/NISO Z39.50)" ${WITH_YAZ:-OFF} \
YP "YP/NIS support" ${WITH_YP:-OFF} \
ZIP "ZIP support" ${WITH_ZIP:-OFF} \
ZLIB "ZLIB support" ${WITH_ZLIB:-OFF} \
2> $tempfile
fi
retval=$?
if [ -s $tempfile ]; then
set `${CAT} $tempfile | ${SED} 's|"||g'`
fi
rm -f $tempfile
case $retval in
0) if [ -z "$*" ]; then
echo "Nothing selected"
fi
;;
1) echo "Cancel pressed."
exit 1
;;
esac
exec > ${WRKDIR}/Makefile.inc
while [ $1 ]; do
echo "WITH_$1=yes";
shift
done

View file

@ -1,67 +0,0 @@
WITH_BCMATH=OFF
WITH_BZIP2=OFF
WITH_CALENDAR=OFF
WITH_CDB=OFF
WITH_CRACK=OFF
WITH_CTYPE=ON
WITH_CURL=OFF
WITH_DB4=OFF
WITH_DBASE=OFF
WITH_DBX=OFF
WITH_DIO=OFF
WITH_DOMXML=OFF
WITH_DOMXSLT=OFF
WITH_EXIF=OFF
WITH_FILEPRO=OFF
WITH_FRIBIDI=OFF
WITH_FTP=OFF
WITH_GD=OFF
WITH_GDBM=OFF
WITH_GETTEXT=OFF
WITH_GMP=OFF
WITH_HYPERWAVE=OFF
WITH_ICONV=OFF
WITH_IMAP=OFF
WITH_INIFILE=OFF
WITH_INTERBASE=OFF
WITH_MBSTRING=OFF
WITH_MCAL=OFF
WITH_MCVE=OFF
WITH_MCRYPT=OFF
WITH_MHASH=OFF
WITH_MIME=OFF
WITH_MING=OFF
WITH_MNOGOSEARCH=OFF
WITH_MSSQL=OFF
WITH_MYSQL=ON
WITH_NCURSES=OFF
WITH_OPENLDAP=OFF
WITH_OPENSSL=OFF
WITH_ORACLE=OFF
WITH_OVERLOAD=ON
WITH_PCNTL=OFF
WITH_PCRE=ON
WITH_POSIX=ON
WITH_POSTGRESQL=OFF
WITH_PSPELL=OFF
WITH_READLINE=OFF
WITH_RECODE=OFF
WITH_SESSION=ON
WITH_SHMOP=OFF
WITH_SNMP=OFF
WITH_SOCKETS=OFF
WITH_SYBASEDB=OFF
WITH_SYBASECT=OFF
WITH_SYSVMSG=OFF
WITH_SYSVSEM=OFF
WITH_SYSVSHM=OFF
WITH_TOKENIZER=ON
WITH_UNIXODBC=OFF
WITH_WDDX=OFF
WITH_XML=ON
WITH_XMLRPC=OFF
WITH_XSLT=OFF
WITH_YAZ=OFF
WITH_YP=OFF
WITH_ZIP=OFF
WITH_ZLIB=ON

View file

@ -4,17 +4,15 @@
#
# $FreeBSD$
#
# Instructions on how to enable preferred extensions can be found in the
# Makefile of the master port (lang/php5).
#
CATEGORIES= lang
PKGNAMESUFFIX= -cli
MAINTAINER= sysadmin@alexdupre.com
MAINTAINER= ale@FreeBSD.org
COMMENT= PHP Command Line Interpreter
PKGMESSAGE= ${.CURDIR}/pkg-message
MASTERDIR= ${.CURDIR}/../php5
WITHOUT_APACHE= yes
CONFLICTS= php5-5* php5-cgi-5* mod_php5-5*
.include "${MASTERDIR}/Makefile"

View file

@ -1,12 +0,0 @@
*****************************************************************************
You have installed the php5-cli package.
Have a look at the php5-cli port if you need additional extensions other than
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
and XML.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php5-cli.tar
*****************************************************************************

View file

@ -4,58 +4,25 @@
#
# $FreeBSD$
#
# There are many ways to select which extensions you want to enable, either
# in interactive mode or in batch mode.
#
# By default, the enabled extensions are: CTYPE, DOM, ICONV, PCRE, POSIX,
# SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER and XML.
# This behaviour can be changed overriding the PHP5_OPTIONS variable
# (e.g. PHP5_OPTIONS="EXT1 EXT2 EXT3").
#
# Another way is to use the WITH_<EXT> and WITHOUT_<EXT> knobs, for additional
# and default extensions respectively (implies batch mode).
#
# The last way reads an "extension" file, located in ~/php5_options (the
# location is overridable by the PHP5_OPTFILE variable). You may find an
# example in scripts/php5_options (interactive mode only).
#
PORTNAME= php5
PORTVERSION= 5.0.0
PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES?= lang devel www
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,}
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,} \
http://downloads.php.net/ilia/:rc \
http://downloads.php.net/jani/:rc
MASTER_SITE_SUBDIR= distributions/:release
.if defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE)
PKGNAMEPREFIX= mod_
.else
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
PKGNAMESUFFIX= -cgi
.else
PKGNAMESUFFIX= -cli
.endif
.endif
.endif
DISTNAME= php-${PORTVERSION:S/.r/RC/}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
MAINTAINER?= ale@FreeBSD.org
COMMENT?= PHP Scripting Language (Apache Module and CLI)
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
COMMENT= PHP Common Gateway Interface
.else
COMMENT= PHP Command Line Interpreter
.endif
.else
.if defined(WITHOUT_CLI)
COMMENT= PHP Apache Module
.endif
.endif
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
USE_BZIP2= yes
USE_SUBMAKE= yes
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} == "-cgi" || ${PKGNAMESUFFIX} == "-cli"
GNU_CONFIGURE= yes
USE_BISON= yes
USE_REINPLACE= yes
@ -63,7 +30,12 @@ USE_REINPLACE= yes
CONFIGURE_ARGS= --enable-versioning \
--enable-memory-limit \
--with-layout=GNU \
--disable-all
--disable-all \
--enable-libxml \
--with-libxml-dir=${LOCALBASE} \
--enable-spl
USE_GNOME= libxml2
.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
CONFIGURE_ARGS+=--with-regex=php
@ -77,463 +49,63 @@ CONFIGURE_ARGS+=--with-regex=apache
.endif
.endif
EXT_DIR= 20040412
SAPI_FILE= "@comment "
.if !defined(PKGNAMEPREFIX) && !defined(PKGNAMESUFFIX)
PHP_SAPI= full
WITH_APACHE= yes
.else
.if !defined(PKGNAMEPREFIX)
PHP_SAPI= ${PKGNAMESUFFIX:S/-//}
.else
PHP_SAPI= ${PKGNAMEPREFIX:S/_//}
WITH_APACHE= yes
.endif
.endif
CONFLICTS= php5-cli-5* mod_php5-5* php5-cgi-5*
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
CONFLICTS= php5-5* php5-cli-5* mod_php5-5*
.else
CONFLICTS= php5-5* php5-cgi-5* mod_php5-5*
.if defined(WITH_APACHE)
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
.endif
.else
.if defined(WITHOUT_CLI)
CONFLICTS= php5-5* php5-cli-5* php5-cgi-5*
.if ${PHP_SAPI} == "cgi"
OPTIONS= REDIRECT "Enable force-cgi-redirect support" off \
DISCARD "Enable discard-path support" off \
FASTCGI "Enable fastcgi support" off \
PATHINFO "Enable path-info-check support" on
.endif
.if defined(WITH_APACHE)
OPTIONS= APACHE2 "Use apache 2.x instead of apache 1.3.x" off
.endif
OPTIONS+= DEBUG "Enable debug" off \
IPV6 "Enable ipv6 support" on
EXT_DIR= 20040412
CONFLICTS?= php5-cli-5* mod_php5-5* php5-cgi-5*
CONFLICTS+= php4-4* php4-cli-4* mod_php4-4* php4-cgi-4*
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
.if defined(WITH_FASTCGI)
CONFIGURE_ARGS+=--enable-fastcgi
.else
CONFIGURE_ARGS+=--enable-discard-path
.endif
SAPI_FILE= bin/php
.else
CONFIGURE_ARGS+=--disable-cgi
.endif
PLIST_SUB+= APACHE="@comment "
.else
PLIST_SUB+= APACHE=""
.endif
.if defined(WITHOUT_CLI)
.if ${PHP_SAPI} == "cgi" || ${PHP_SAPI} == "mod"
CONFIGURE_ARGS+=--disable-cli
PLIST_SUB+= CLI="@comment "
.else
.if !defined(WITHOUT_PEAR)
CONFIGURE_ARGS+=--with-pear
PLIST_SUB+= PEAR=""
.else
PLIST_SUB+= PEAR="@comment "
.endif
MAN1= php.1
.if ${PHP_SAPI} == "full" || ${PHP_SAPI} == "cli"
PLIST_SUB+= CLI=""
.endif
ALL_OPTIONS= BCMATH BZIP2 CALENDAR CDB CRACK CTYPE CURL DB4 DBASE DBX DIO \
DOM EXIF FILEPRO FTP GD GDBM GETTEXT GMP ICONV IMAP INTERBASE \
INIFILE MBSTRING MCVE MCRYPT MHASH MING MNOGOSEARCH MSSQL \
MYSQL MYSQLI NCURSES OPENLDAP OPENSSL ORACLE PCNTL PCRE \
POSIX POSTGRESQL PSPELL READLINE RECODE SESSION SHMOP \
SIMPLEXML SNMP SOAP SOCKETS SPL SQLITE SYBASEDB SYBASECT \
SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER UNIXODBC WDDX XML \
XMLRPC XSL YP ZLIB
.for opt in ${ALL_OPTIONS}
.if defined(WITH_${opt}) || defined(WITHOUT_${opt})
BATCH= yes
.endif
.endfor
.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
IS_INTERACTIVE= yes
.endif
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
PHP5_OPTFILE?= ${HOME}/php5_options
PHP5_OPTIONS?= CTYPE DOM ICONV PCRE POSIX SESSION SIMPLEXML SPL SQLITE TOKENIZER XML
.for opt in ${ALL_OPTIONS}
.if defined(WITH_${opt})
SEL_OPTIONS+= ${opt}
.endif
.endfor
.for opt in ${PHP5_OPTIONS}
.if !defined(WITHOUT_${opt})
SEL_OPTIONS+= ${opt}
.if !exists(${WRKDIR}/Makefile.inc)
WITH_${opt}= yes
.endif
.endif
SCRIPTS_ENV+= WITH_${opt}=ON
.endfor
SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \
OPTION_FILE="${PHP5_OPTFILE}" \
WRKDIR="${WRKDIR}" \
CAT="${CAT}" \
SED="${SED}"
.if exists(${WRKDIR}/Makefile.inc)
.include "${WRKDIR}/Makefile.inc"
.endif
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
WITH_PCRE= yes
WITH_XML= yes
.endif
.if defined(WITH_CDB) || defined(WITH_DB4) || defined(WITH_GDBM) || defined(WITH_INIFILE)
WITH_DBA= yes
.endif
.if defined(WITH_XSL)
WITH_DOM= yes
.endif
.if defined(WITH_XMLRPC)
WITH_ICONV_DEP= yes
.endif
.if defined(WITH_MCVE) || defined(WITH_SNMP)
WITH_OPENSSL_DEP= yes
.endif
.if defined(WITH_DOM) || defined(WITH_SIMPLEXML) || defined(WITH_SOAP)
WITH_XML_DEP= yes
.endif
.if defined(WITH_GD) || defined(WITH_MYSQL)
WITH_ZLIB_DEP= yes
.endif
.if defined(WITH_BCMATH)
CONFIGURE_ARGS+=--enable-bcmath
.endif
.if defined(WITH_BZIP2)
.if exists(/usr/bin/bzip2)
BZIP2BASE= /usr
MAN1= php.1
.else
BZIP2BASE= ${LOCALBASE}
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif
CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE}
PLIST_SUB+= CLI="@comment "
.endif
.if defined(WITH_CALENDAR)
CONFIGURE_ARGS+=--enable-calendar
.endif
.if defined(WITH_CDB)
CONFIGURE_ARGS+=--with-cdb
.endif
.if defined(WITH_CRACK)
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
.endif
.if defined(WITH_CTYPE)
CONFIGURE_ARGS+=--enable-ctype
.endif
.if defined(WITH_CURL)
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if defined(WITH_DB4)
WITH_DB4_VER?= 41
.if ${WITH_DB4_VER} == 42
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
.if defined(WITH_APACHE)
PLIST_SUB+= APACHE=""
.else
.if ${WITH_DB4_VER} == 4
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
.else
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
.endif
.endif
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
PLIST_SUB+= APACHE="@comment "
.endif
.if defined(WITH_DBA)
CONFIGURE_ARGS+=--enable-dba
.if ${PHP_SAPI} == "cli"
CONFIGURE_ARGS+=--disable-cgi
SAPI_FILE= "@comment "
.endif
.if defined(WITH_DBASE)
CONFIGURE_ARGS+=--enable-dbase
.endif
.if defined(WITH_DBX)
CONFIGURE_ARGS+=--enable-dbx
.endif
.if defined(WITH_DIO)
CONFIGURE_ARGS+=--enable-dio
.endif
.if defined(WITH_DOM)
CONFIGURE_ARGS+=--enable-dom
.endif
.if defined(WITH_EXIF)
CONFIGURE_ARGS+=--enable-exif
.endif
.if defined(WITH_FILEPRO)
CONFIGURE_ARGS+=--enable-filepro
.endif
.if defined(WITH_FTP)
CONFIGURE_ARGS+=--enable-ftp
.endif
.if defined(WITH_GD)
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
CONFIGURE_ARGS+=--with-gd \
--enable-gd-native-ttf \
--with-freetype-dir=${LOCALBASE} \
--with-t1lib=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE}
.if !defined(WITHOUT_X11)
USE_XPM= yes
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
.endif
.if defined(WITH_LZW)
CONFIGURE_ARGS+=--enable-gd-lzw-gif
.endif
.endif
.if defined(WITH_GDBM)
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
.endif
.if defined(WITH_GETTEXT)
USE_GETTEXT= yes
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
.endif
.if defined(WITH_GMP)
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if defined(WITH_ICONV) || defined(WITH_ICONV_DEP)
USE_ICONV= yes
CONFIGURE_ARGS+=--with-iconv-dir=${LOCALBASE}
.endif
.if defined(WITH_ICONV)
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
.endif
.if defined(WITH_INIFILE)
CONFIGURE_ARGS+=--with-inifile
.endif
.if defined(WITH_INTERBASE)
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
.endif
.if defined(WITH_MBSTRING)
CONFIGURE_ARGS+=--enable-mbstring
.endif
.if defined(WITH_MCVE)
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE}
.endif
.if defined(WITH_MCRYPT)
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
USE_LIBLTDL= yes
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
.endif
.if defined(WITH_MHASH)
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
.endif
.if defined(WITH_MING)
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if defined(WITH_MNOGOSEARCH)
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
.endif
.if defined(WITH_MSSQL)
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if defined(WITH_MYSQL)
USE_MYSQL= yes
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
.endif
.if defined(WITH_MYSQLI)
USE_MYSQL= yes
BROKEN_WITH_MYSQL= 323 40
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
.endif
.if defined(WITH_OPENLDAP)
USE_OPENLDAP= yes
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
.endif
.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP)
USE_OPENSSL= yes
LDFLAGS+= -lcrypto -lssl
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
CONFIGURE_ARGS+=--with-openssl-dir=${OPENSSLBASE}
.endif
.if defined(WITH_OPENSSL)
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
.endif
.if defined(WITH_ORACLE)
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
.endif
.if defined(WITH_PCNTL)
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if defined(WITH_PCRE)
CONFIGURE_ARGS+=--with-pcre-regex
.endif
.if defined(WITH_POSIX)
CONFIGURE_ARGS+=--enable-posix
.endif
.if defined(WITH_POSTGRESQL)
POSTGRESQL_PORT?= databases/postgresql7
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if defined(WITH_PSPELL)
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
.endif
.if defined(WITH_READLINE)
CONFIGURE_ARGS+=--with-readline
.endif
.if defined(WITH_RECODE)
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
.endif
.if defined(WITH_SESSION)
CONFIGURE_ARGS+=--enable-session
.endif
.if defined(WITH_SHMOP)
CONFIGURE_ARGS+=--enable-shmop
.endif
.if defined(WITH_SIMPLEXML)
CONFIGURE_ARGS+=--enable-simplexml
.endif
.if defined(WITH_SOAP)
CONFIGURE_ARGS+=--enable-soap
.endif
.if defined(WITH_SOCKETS)
CONFIGURE_ARGS+=--enable-sockets
.endif
.if defined(WITH_SPL)
CONFIGURE_ARGS+=--enable-spl
.endif
.if defined(WITH_SQLITE)
CONFIGURE_ARGS+=--with-sqlite
.endif
.if defined(WITH_SYBASEDB)
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
.endif
.if defined(WITH_SYBASECT)
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
.endif
.if defined(WITH_SYSVMSG)
CONFIGURE_ARGS+=--enable-sysvmsg
.endif
.if defined(WITH_SYSVSEM)
CONFIGURE_ARGS+=--enable-sysvsem
.endif
.if defined(WITH_SYSVSHM)
CONFIGURE_ARGS+=--enable-sysvshm
.endif
.if defined(WITH_TIDY)
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
.endif
.if defined(WITH_TOKENIZER)
CONFIGURE_ARGS+=--enable-tokenizer
.endif
.if defined(WITH_UNIXODBC)
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if defined(WITH_WDDX)
CONFIGURE_ARGS+=--enable-wddx
.endif
.if defined(WITH_XML) || defined(WITH_XML_DEP)
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
CONFIGURE_ARGS+=--enable-libxml --with-libxml-dir=${LOCALBASE}
.endif
.if defined(WITH_XML)
CONFIGURE_ARGS+=--enable-xml
.endif
.if defined(WITH_XMLRPC)
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--with-xmlrpc --with-expat-dir=${LOCALBASE}
.endif
.if defined(WITH_XSL)
LIB_DEPENDS+= xslt.2:${PORTSDIR}/textproc/libxslt
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
.endif
.if defined(WITH_YP)
CONFIGURE_ARGS+=--enable-yp
.endif
.if defined(WITH_ZLIB) || defined(WITH_ZLIB_DEP)
CONFIGURE_ARGS+=--with-zlib-dir=/usr
.endif
.if defined(WITH_ZLIB)
CONFIGURE_ARGS+=--with-zlib
.if ${PHP_SAPI} == "cgi"
SAPI_FILE= bin/php
.endif
.include <bsd.port.pre.mk>
@ -545,7 +117,7 @@ CONFIGURE_ENV= ac_cv_pthreads_lib=${WITH_PTHREAD_LIBS} \
ac_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
.endif
.if !defined(WITHOUT_APACHE)
.if defined(WITH_APACHE)
.if exists(${LOCALBASE}/include/apache2/httpd.h)
WITH_APACHE2= yes
APACHE_MPM!= ${APXS} -q MPM_NAME
@ -578,82 +150,30 @@ PLIST_SUB+= SAPI_FILE=${SAPI_FILE}
CONFIGURE_ARGS+=--disable-ipv6
.endif
.if defined(WITH_IMAP)
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
.if !exists(${LOCALBASE}/lib/libc-client4.so)
.if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
.else
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.if ${PHP_SAPI} == "cgi"
.if defined(WITH_REDIRECT)
CONFIGURE_ARGS+=--enable-force-cgi-redirect
.endif
.else
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
.if !empty(WITH_IMAP_SSL)
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
.else
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.if defined(WITH_DISCARD)
CONFIGURE_ARGS+=--enable-discard-path
.endif
.if defined(WITH_FASTCGI)
CONFIGURE_ARGS+=--enable-fastcgi
.endif
.if defined(WITHOUT_PATHINFO)
CONFIGURE_ARGS+=--disable-path-info-check
.endif
.if defined(WITH_NCURSES)
.if ${OSVERSION} < 400000
NCURSESBASE= ${LOCALBASE}
LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses
.else
NCURSESBASE= /usr
.endif
CONFIGURE_ARGS+=--with-ncurses=${NCURSESBASE}
.endif
.if defined(WITH_SNMP)
.if exists(${LOCALBASE}/lib/libsnmp.so.4) || defined(WITH_SNMP4)
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
.else
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
.endif
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack
.endif
_PORTSDIR!= ${REALPATH} ${PORTSDIR}
PHP_PORT= ${.CURDIR:S|^${_PORTSDIR}||:S|^/||}
pre-patch:
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php
post-patch:
@${REINPLACE_CMD} -e "s|orainst/unix.rgs|ocommon/install/partial.prd|g" \
${WRKSRC}/configure
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
@${TOUCH} ${WRKSRC}/ext/php_config.h
.if ${PHP_SAPI} == "full"
pre-configure:
@${ECHO_CMD} ""
.if defined(WITH_IMAP) && defined(WITH_RECODE)
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_RECODE!"
@${FALSE}
.endif
.if defined(WITH_IMAP) && defined(WITH_YAZ)
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_YAZ!"
@${FALSE}
.endif
.if defined(WITH_MYSQL) && defined(WITH_MYSQLI)
@${ECHO_CMD} "You cannot define WITH_MYSQL *and* WITH_MYSQLI!"
@${FALSE}
.endif
.if defined(WITH_RECODE) && defined(WITH_YAZ)
@${ECHO_CMD} "You cannot define WITH_RECODE *and* WITH_YAZ!"
@${FALSE}
.endif
.if defined(WITH_SYBASEDB) && defined(WITH_SYBASECT)
@${ECHO_CMD} "You cannot define WITH_SYBASEDB *and* WITH_SYBASECT!"
@${FALSE}
.endif
.if defined(WITH_GD) && !defined(WITH_LZW)
@${ECHO_CMD} "To enable LZW-compressed GIF support in GD define the WITH_LZW knob."
@${ECHO_CMD} ""
.endif
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "You are building the Apache Module and the Command Line Interpreter of PHP."
@${ECHO_CMD} ""
@${ECHO_CMD} "Use port:"
@ -668,56 +188,23 @@ post-build:
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_EXT_DIR=${EXT_DIR}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_PORT=\$${PORTSDIR}/${PHP_PORT}" >> ${WRKDIR}/php.conf
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
@${ECHO_CMD} "PHP_PEAR=yes" >> ${WRKDIR}/php.conf
.else
@${ECHO_CMD} "PHP_PEAR=no" >> ${WRKDIR}/php.conf
.endif
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=full" >> ${WRKDIR}/php.conf
.else
.if defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=cli" >> ${WRKDIR}/php.conf
.endif
.if !defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=mod" >> ${WRKDIR}/php.conf
.endif
.if defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=cgi" >> ${WRKDIR}/php.conf
.endif
.endif
.if !defined(WITHOUT_CLI)
@${ECHO_CMD} "You may run the tests from the PHP test framework, typing 'make test' now."
@${ECHO_CMD} "(It is safe to ignore errors about timestamp-related tests,"
@${ECHO_CMD} "since they are due to the different FreeBSD mktime() implementation)."
@${ECHO_CMD} ""
.endif
.if !defined(WITHOUT_CLI)
test: all
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} ${.TARGET})
.endif
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
post-install:
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
.endif
@${INSTALL_DATA} ${WRKSRC}/php.ini-dist ${PREFIX}/etc
@${INSTALL_DATA} ${WRKSRC}/php.ini-recommended ${PREFIX}/etc
@${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
@${TOUCH} ${PREFIX}/include/php/ext/sqlite/libsqlite/src/sqlite.h
.if !defined(WITHOUT_APACHE)
@${ECHO_CMD} "*****************************************************************************"
@${ECHO_CMD} ""
@${ECHO_CMD} "Make sure index.php is part of your DirectoryIndex."
@${ECHO_CMD} ""
@${ECHO_CMD} "You should add the following lines to your Apache configuration file:"
@${ECHO_CMD} ""
@${ECHO_CMD} "AddType application/x-httpd-php .php"
@${ECHO_CMD} "AddType application/x-httpd-php-source .phps"
@${ECHO_CMD} ""
@${ECHO_CMD} "*****************************************************************************"
@${TOUCH} ${PREFIX}/etc/php.ini
@${TOUCH} ${PREFIX}/include/php/ext/php_config.h
.if defined(WITH_APACHE)
@${CAT} ${PKGMESSAGE}
.endif
.else
.if ${PKGNAMESUFFIX} == "-pear"
.include "${MASTERDIR}/Makefile.pear"
.else
.include "${MASTERDIR}/Makefile.ext"
.endif
.endif
.include <bsd.port.post.mk>

493
lang/php5/Makefile.ext Normal file
View file

@ -0,0 +1,493 @@
COMMENT= The ${PHP_MODNAME} shared extension for php
USE_PHP= yes
USE_PHPEXT= yes
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
WRKSRC= ${WRKDIR}/php-${PORTVERSION:S/.r/RC/}/ext/${PHP_MODNAME}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
.if ${PHP_MODNAME} == "bcmath"
CONFIGURE_ARGS+=--enable-bcmath
PHP_HEADER_DIRS=libbcmath libbcmath/src
.endif
.if ${PHP_MODNAME} == "bz2"
.if exists(/usr/bin/bzip2)
BZ2BASE= /usr
.else
BZ2BASE= ${LOCALBASE}
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif
CONFIGURE_ARGS+=--with-bz2=${BZ2BASE}
.endif
.if ${PHP_MODNAME} == "calendar"
CONFIGURE_ARGS+=--enable-calendar
.endif
.if ${PHP_MODNAME} == "ctype"
CONFIGURE_ARGS+=--enable-ctype
.endif
.if ${PHP_MODNAME} == "curl"
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "dba"
CONFIGURE_ARGS+=--enable-dba
OPTIONS= CDB "cdb database support" on \
DB4 "Berkeley DB4 support" off \
GDBM "GDBM database support" off \
INIFILE "INI file support" on \
FLATFILE "flatfile support" on
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.endif
.if ${PHP_MODNAME} == "dbase"
CONFIGURE_ARGS+=--enable-dbase
.endif
.if ${PHP_MODNAME} == "dbx"
CONFIGURE_ARGS+=--enable-dbx
.endif
.if ${PHP_MODNAME} == "dio"
CONFIGURE_ARGS+=--enable-dio
.endif
.if ${PHP_MODNAME} == "dom"
CONFIGURE_ARGS+=--enable-dom \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "exif"
CONFIGURE_ARGS+=--enable-exif
.endif
.if ${PHP_MODNAME} == "filepro"
CONFIGURE_ARGS+=--enable-filepro
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+=--enable-ftp
.endif
.if ${PHP_MODNAME} == "gd"
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
png.5:${PORTSDIR}/graphics/png \
jpeg.9:${PORTSDIR}/graphics/jpeg
. if !defined(WITHOUT_X11)
USE_XPM= yes
. endif
CONFIGURE_ARGS+=--with-gd \
--with-freetype-dir=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE} \
--with-zlib-dir=/usr
. if !defined(WITHOUT_X11)
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
. endif
OPTIONS= T1LIB "Include T1lib support" on \
TRUETYPE "Enable TrueType string function" on \
JIS "Enable JIS-mapped Japanese font support" off \
LZW "Enable LZW-compressed GIF write support" off
PHP_HEADER_DIRS=libgd
.endif
.if ${PHP_MODNAME} == "gettext"
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
USE_GETTEXT= yes
.endif
.if ${PHP_MODNAME} == "gmp"
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "iconv"
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
.endif
.if ${PHP_MODNAME} == "imap"
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "interbase"
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
.endif
.if ${PHP_MODNAME} == "ldap"
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
USE_OPENLDAP= yes
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+=--enable-mbstring
OPTIONS= REGEX "Enable multibyte regex support" on
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls mbstring/oniguruma
.endif
.if ${PHP_MODNAME} == "mcrypt"
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
USE_LIBLTDL= yes
.endif
.if ${PHP_MODNAME} == "mcve"
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "mhash"
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "ming"
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mnogosearch"
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mssql"
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mysql"
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
USE_MYSQL= yes
.endif
.if ${PHP_MODNAME} == "mysqli"
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
USE_MYSQL= yes
BROKEN_WITH_MYSQL= 323 40
.endif
.if ${PHP_MODNAME} == "ncurses"
CONFIGURE_ARGS+=--with-ncurses=/usr
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "openssl"
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "oracle"
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if ${PHP_MODNAME} == "pcre"
CONFIGURE_ARGS+=--with-pcre-regex=yes
PHP_HEADER_DIRS=pcrelib
.endif
.if ${PHP_MODNAME} == "pgsql"
POSTGRESQL_PORT?= databases/postgresql7
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+=--enable-posix
.endif
.if ${PHP_MODNAME} == "pspell"
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "readline"
CONFIGURE_ARGS+=--with-readline=/usr
.endif
.if ${PHP_MODNAME} == "recode"
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "session"
CONFIGURE_ARGS+=--enable-session
.endif
.if ${PHP_MODNAME} == "shmop"
CONFIGURE_ARGS+=--enable-shmop
.endif
.if ${PHP_MODNAME} == "simplexml"
CONFIGURE_ARGS+=--enable-simplexml \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE} \
--enable-ucd-snmp-hack
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
OPTIONS= SNMP4 "Use old UCD SNMP instead of the new NET SNMP" off
.endif
.if ${PHP_MODNAME} == "soap"
CONFIGURE_ARGS+=--enable-soap \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
USE_PHP= session
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "sockets"
CONFIGURE_ARGS+=--enable-sockets
.endif
.if ${PHP_MODNAME} == "sqlite"
CONFIGURE_ARGS+=--with-sqlite
USE_PHP= session
USE_PHP_BUILD= yes
PHP_HEADER_DIRS=libsqlite/src
OPTIONS= UTF8 "Enable UTF-8 support" off
.endif
.if ${PHP_MODNAME} == "sybase"
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sybase_ct"
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sysvmsg"
CONFIGURE_ARGS+=--enable-sysvmsg
.endif
.if ${PHP_MODNAME} == "sysvsem"
CONFIGURE_ARGS+=--enable-sysvsem
.endif
.if ${PHP_MODNAME} == "sysvshm"
CONFIGURE_ARGS+=--enable-sysvshm
.endif
.if ${PHP_MODNAME} == "tidy"
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
.endif
.if ${PHP_MODNAME} == "tokenizer"
CONFIGURE_ARGS+=--enable-tokenizer
.endif
.if ${PHP_MODNAME} == "wddx"
CONFIGURE_ARGS+=--enable-wddx
USE_PHP= xml session
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "xml"
CONFIGURE_ARGS+=--enable-xml \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "xmlrpc"
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--with-xmlrpc \
--with-expat-dir=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
PHP_HEADER_DIRS=libxmlrpc
.endif
.if ${PHP_MODNAME} == "xsl"
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
USE_GNOME= libxslt
USE_PHP= dom
.endif
.if ${PHP_MODNAME} == "yp"
CONFIGURE_ARGS+=--enable-yp
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+=--with-zlib=/usr
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "dba"
. if defined(WITHOUT_CDB)
CONFIGURE_ARGS+=--without-cdb
. endif
. if defined(WITH_DB4)
WITH_DB4_VER?= 41
. if ${WITH_DB4_VER} == 42
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
. else
. if ${WITH_DB4_VER} == 4
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
. else
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
. endif
. endif
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
. endif
. if defined(WITH_GDBM)
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
. endif
. if defined(WITHOUT_INIFILE)
CONFIGURE_ARGS+=--without-inifile
. endif
. if defined(WITHOUT_FLATFILE)
CONFIGURE_ARGS+=--without-flatfile
. endif
.endif
.if ${PHP_MODNAME} == "gd"
. if !defined(WITHOUT_T1LIB)
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
. endif
. if !defined(WITHOUT_TRUETYPE)
CONFIGURE_ARGS+=--enable-gd-native-ttf
. endif
. if defined(WITH_JIS)
CONFIGURE_ARGS+=--enable-gd-jis-conv
. endif
. if defined(WITH_LZW)
CONFIGURE_ARGS+=--enable-gd-lzw-gif
. endif
.endif
.if ${PHP_MODNAME} == "imap"
. if !exists(${LOCALBASE}/lib/libc-client4.so)
. if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
. endif
. else
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
. if !empty(WITH_IMAP_SSL)
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
. endif
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
. if defined(WITHOUT_REGEX)
CONFIGURE_ARGS+=--disable-mbregex
. endif
.endif
.if ${PHP_MODNAME} == "openssl"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "snmp"
. if defined(WITH_SNMP4) || exists(${LOCALBASE}/lib/libsnmp.so.4)
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
. else
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
. endif
.endif
.if ${PHP_MODNAME} == "sqlite"
. if defined(WITH_UTF8)
CONFIGURE_ARGS+=--enable-sqlite-utf8
. endif
.endif
.if ${PHP_MODNAME} == "xml"
post-extract:
@${MKDIR} ${WRKSRC}/ext/xml
@${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
.endif
.if ${PHP_MODNAME} == "zlib"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif

29
lang/php5/Makefile.pear Normal file
View file

@ -0,0 +1,29 @@
USE_GNOME= libxml2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-layout=GNU \
--disable-cgi \
--disable-all \
--with-pcre-regex=yes \
--enable-xml \
--with-libxml-dir=${LOCALBASE} \
--with-zlib-dir=/usr \
--with-pear
NO_BUILD= yes
INSTALL_TARGET= install-pear
USE_PHP= pcre xml
WANT_PHP_SCR= yes
.include <bsd.port.pre.mk>
post-patch:
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
post-install:
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
@${SED} "s|\$${LOCALBASE}|${LOCALBASE}|g;s|\$${PREFIX}|${PREFIX}|g" < ${PKGMESSAGE}

View file

@ -1,477 +0,0 @@
--- configure.orig Fri Mar 19 11:01:07 2004
+++ configure Mon Mar 29 09:56:02 2004
@@ -624,6 +624,8 @@
ac_help="$ac_help
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support."
ac_help="$ac_help
+ --enable-gd-lzw-gif GD: Enable LZW-compressed GIF support."
+ac_help="$ac_help
--with-gettext[=DIR] Include GNU gettext support."
ac_help="$ac_help
--with-gmp[=DIR] Include GNU MP support"
@@ -24057,6 +24059,14 @@
THIS_PREFIX=$i
THIS_INCLUDE=$i/db4/db.h
break
+ elif test -f "$i/include/db42/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db42/db.h
+ break
+ elif test -f "$i/include/db41/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db41/db.h
+ break
elif test -f "$i/include/db4/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db4/db.h
@@ -24076,7 +24086,7 @@
fi
done
- for LIB in db-4.2 db-4.1 db-4.0 db-4 db4 db; do
+ for LIB in db-4.2 db-4.1 db-4.0 db-4 db41 db4 db; do
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
old_LDFLAGS=$LDFLAGS
@@ -30047,6 +30057,31 @@
+echo $ac_n "checking whether to enable LZW-compressed GIF support in GD""... $ac_c" 1>&6
+echo "configure:28220: checking whether to enable LZW-compressed GIF support in GD" >&5
+# Check whether --enable-gd-lzw-gif or --disable-gd-lzw-gif was given.
+if test "${enable_gd_lzw_gif+set}" = set; then
+ enableval="$enable_gd_lzw_gif"
+ PHP_GD_LZW_GIF=$enableval
+else
+
+ PHP_GD_LZW_GIF=no
+
+ if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then
+ PHP_GD_LZW_GIF=$PHP_ENABLE_ALL
+ fi
+
+fi
+
+
+ext_output=$PHP_GD_LZW_GIF
+echo "$ac_t""$ext_output" 1>&6
+
+
+
+
+
+
@@ -30199,7 +30234,7 @@
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \
- libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \
+ libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c libgd/gd_biggif_out.c libgd/gd_lzw_out.c libgd/gd_gif_out.c \
libgd/xbm.c"
for ac_func in fabsf floorf
@@ -30274,6 +30309,11 @@
fi
+ if test "$PHP_GD_LZW_GIF" = "yes"; then
+ USE_GD_LZW_GIF=1
+ fi
+
+
if test "$PHP_JPEG_DIR" != "no"; then
for i in $PHP_JPEG_DIR /usr/local /usr; do
@@ -31987,6 +32027,9 @@
cat >> confdefs.h <<\EOF
#define HAVE_GD_BUNDLED 1
+#define HAVE_GD_GIF_CREATE 1
+#define HAVE_GD_GIF_CTX 1
+#define HAVE_GD_GIF_ANIM 1
EOF
cat >> confdefs.h <<\EOF
@@ -32041,6 +32084,14 @@
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
fi
+ if test -n "$USE_GD_LZW_GIF"; then
+ cat >> confdefs.h <<\EOF
+#define LZW_LICENCED 1
+EOF
+
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DLZW_LICENCED"
+ fi
+
else
if test "$PHP_GD" != "no"; then
@@ -36392,6 +36443,137 @@
esac
done
+ echo $ac_n "checking for gdImageGifAnimBegin in -lgd""... $ac_c" 1>&6
+echo "configure:32250: checking for gdImageGifAnimBegin in -lgd" >&5
+ac_lib_var=`echo gd'_'gdImageGifAnimBegin | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lgd $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 32258 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gdImageGifAnimBegin();
+
+int main() {
+gdImageGifAnimBegin()
+; return 0; }
+EOF
+if { (eval echo configure:32269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+ cat >> confdefs.h <<\EOF
+#define HAVE_GD_GIF_ANIM 1
+EOF
+
+
+else
+ echo "$ac_t""no" 1>&6
+
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+ unset ac_cv_func_gd
+
+
+fi
+
+
+ save_old_LDFLAGS=$LDFLAGS
+ ac_stuff=" -L$GD_LIB $GD_SHARED_LIBADD "
+
+ save_ext_shared=$ext_shared
+ ext_shared=yes
+
+ for ac_i in $ac_stuff; do
+ case $ac_i in
+ -l*)
+ ac_ii=`echo $ac_i|cut -c 3-`
+
+
+ case $ac_ii in
+ c|c_r|pthread*) ;;
+ *)
+ if test "$ext_shared" = "yes"; then
+ LDFLAGS="$LDFLAGS -l$ac_ii"
+ else
+
+
+ case $ac_ii in
+ c|c_r|pthread*) ;;
+ *)
+ LIBS="$LIBS -l$ac_ii"
+ ;;
+ esac
+
+
+ fi
+ ;;
+ esac
+
+
+ ;;
+ -L*)
+ ac_ii=`echo $ac_i|cut -c 3-`
+
+ if test "$ac_ii" != "/usr/lib"; then
+
+ if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
+ ai_p=$ac_ii
+ else
+
+ ep_dir="`echo $ac_ii|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ac_ii\"`"
+ fi
+
+
+ if test "$ext_shared" = "yes"; then
+ LDFLAGS="$ld_runpath_switch$ai_p -L$ai_p $LDFLAGS"
+ else
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+ fi
+
+ fi
+
+ ;;
+ esac
+ done
+
echo $ac_n "checking for gdCacheCreate in -lgd""... $ac_c" 1>&6
echo "configure:36397: checking for gdCacheCreate in -lgd" >&5
ac_lib_var=`echo gd'_'gdCacheCreate | sed 'y%./+-%__p_%'`
@@ -61441,6 +61623,102 @@
if test "$ext_shared" = "yes"; then
+ ORACLE_SHARED_LIBADD="-lwrap $ORACLE_SHARED_LIBADD"
+ if test -n "$ORACLE_DIR/lib"; then
+
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
+
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
+ ai_p=$ORACLE_DIR/lib
+ else
+
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
+ fi
+
+
+ if test "$ext_shared" = "yes"; then
+ ORACLE_SHARED_LIBADD="$ld_runpath_switch$ai_p -L$ai_p $ORACLE_SHARED_LIBADD"
+ else
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+ fi
+
+ fi
+
+ fi
+ else
+
+
+ if test -n "$ORACLE_DIR/lib"; then
+
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
+
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
+ ai_p=$ORACLE_DIR/lib
+ else
+
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
+ fi
+
+
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+
+ fi
+
+ fi
+
+
+ case wrap in
+ c|c_r|pthread*) ;;
+ *)
+ LIBS="-lwrap $LIBS"
+ ;;
+ esac
+
+
+
+
+ fi
+
+
+
+
+ if test "$ext_shared" = "yes"; then
ORACLE_SHARED_LIBADD="-lnlsrtl3 $ORACLE_SHARED_LIBADD"
if test -n "$ORACLE_DIR/lib"; then
@@ -82018,29 +82296,6 @@
else
- case cs in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lcs $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case cs in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lcs $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
case ct in
c|c_r|pthread*) ;;
*)
@@ -82064,52 +82319,7 @@
- case comn in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lcomn $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case comn in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lcomn $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
- case intl in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lintl $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case intl in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lintl $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lcs -lct -lcomn -lintl"
+ SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
save_old_LDFLAGS=$LDFLAGS
@@ -82244,38 +82454,6 @@
c|c_r|pthread*) ;;
*)
LIBS="-ltcl $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
-else
- echo "$ac_t""no" 1>&6
-
- LDFLAGS=$save_old_LDFLAGS
- ext_shared=$save_ext_shared
- unset ac_cv_func_tcl
-
-
-
- case sybtcl in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lsybtcl $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case sybtcl in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lsybtcl $LIBS"
;;
esac

View file

@ -1,50 +0,0 @@
--- ext/gd/gd.c.orig Wed Jun 4 02:22:30 2003
+++ ext/gd/gd.c Sat Jun 28 15:47:56 2003
@@ -206,6 +206,11 @@
#ifdef HAVE_GD_GIF_CREATE
PHP_FE(imagegif, NULL)
#endif
+#ifdef HAVE_GD_GIF_ANIM
+ PHP_FE(imagegifanimbegin, NULL)
+ PHP_FE(imagegifanimadd, NULL)
+ PHP_FE(imagegifanimend, NULL)
+#endif
#ifdef HAVE_GD_JPG
PHP_FE(imagejpeg, NULL)
#endif
@@ -1707,11 +1712,35 @@
#ifdef HAVE_GD_GIF_CTX
_php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx);
#else
+
+#ifdef HAVE_GD_BUNDLED
+#error "I really think there should be ctx version of imagegif in the bundled GD library. Fix the configuration."
+#endif
+
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGif);
#endif
}
/* }}} */
#endif /* HAVE_GD_GIF_CREATE */
+
+#ifdef HAVE_GD_GIF_ANIM
+/* {{{ proto int imagegifanimbegin(int im [, string filename [, int GlobalColormap [, int Loops]]])
+ Begin GIF animation. Image parameter is only used for size and colormap,
+ all animation frames must be added separately. */
+PHP_FUNCTION(imagegifanimbegin)
+{
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMBEGIN, "GIF", gdImageGifAnimBeginCtx);
+}
+/* }}} */
+
+/* {{{ proto int imagegifanimadd(int im [, string filename [, int LocalColormap [, LeftOfs [, int TopOfs [, int Delay [, int Disposal]]]]]])
+ Append GIF image to animation */
+PHP_FUNCTION(imagegifanimadd)
+{
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMADD, "GIF", gdImageGifAnimAddCtx);
+}
+/* }}} */
+#endif /* HAVE_GD_GIF_ANIM */
#ifdef HAVE_GD_PNG
/* {{{ proto int imagepng(int im [, string filename])

View file

@ -1,168 +0,0 @@
--- ext/gd/gd_ctx.c.orig Wed Jan 28 18:10:05 2004
+++ ext/gd/gd_ctx.c Fri Feb 13 12:12:00 2004
@@ -49,23 +49,29 @@
/* {{{ _php_image_output_ctx */
static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)())
{
- zval **imgind, **file, **quality;
+ zval **imgind, **file, **quality, **lo, **to, **del, **dis;
gdImagePtr im;
char *fn = NULL;
FILE *fp = NULL;
int argc = ZEND_NUM_ARGS();
int q = -1, i;
+#ifdef HAVE_GD_GIF_ANIM
+ int LeftOfs = -1, TopOfs = -1, Delay = -1, Disposal = -1;
+#endif /* HAVE_GD_GIF_ANIM */
gdIOCtx *ctx;
/* The third (quality) parameter for Wbmp stands for the threshold when called from image2wbmp().
* The third (quality) parameter for Wbmp and Xbm stands for the foreground color index when called
* from imagey<type>().
+ * The third (quality) parameter for GIF animation stands for colormap inclusion. 1==include
+ * local/global colormap.
+ * The fourth (LeftOfs) parameter for GIF animation begin stands for NETSCAPE2.0 Loop count extension.
*/
if (argc < 2 && image_type == PHP_GDIMG_TYPE_XBM) {
WRONG_PARAM_COUNT;
}
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &imgind, &file, &quality) == FAILURE)
+ if (argc < 1 || argc > 7 || zend_get_parameters_ex(argc, &imgind, &file, &quality, &lo, &to, &del, &dis) == FAILURE)
{
WRONG_PARAM_COUNT;
}
@@ -75,11 +81,29 @@
if (argc > 1) {
convert_to_string_ex(file);
fn = Z_STRVAL_PP(file);
- if (argc == 3) {
- convert_to_long_ex(quality);
- q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
- }
}
+ if (argc >= 3) {
+ convert_to_long_ex(quality);
+ q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
+ }
+#ifdef HAVE_GD_GIF_ANIM
+ if (argc >= 4) {
+ convert_to_long_ex(lo);
+ LeftOfs = Z_LVAL_PP(lo);
+ }
+ if (argc >= 5) {
+ convert_to_long_ex(to);
+ TopOfs = Z_LVAL_PP(to);
+ }
+ if (argc >= 6) {
+ convert_to_long_ex(del);
+ Delay = Z_LVAL_PP(del);
+ }
+ if (argc >= 7) {
+ convert_to_long_ex(dis);
+ Disposal = Z_LVAL_PP(dis);
+ }
+#endif /* HAVE_GD_GIF_ANIM */
if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
@@ -87,7 +111,7 @@
RETURN_FALSE;
}
- fp = VCWD_FOPEN(fn, "wb");
+ fp = VCWD_FOPEN(fn, PHP_GDIMG_TYPE_GIFANIMADD == image_type ? "ab" : "wb");
if (!fp) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
RETURN_FALSE;
@@ -133,6 +157,14 @@
(*func_p)(im, q, ctx);
}
break;
+#ifdef HAVE_GD_GIF_ANIM
+ case PHP_GDIMG_TYPE_GIFANIMBEGIN:
+ (*func_p)(im, ctx, q, LeftOfs);
+ break;
+ case PHP_GDIMG_TYPE_GIFANIMADD:
+ (*func_p)(im, ctx, q, LeftOfs, TopOfs, Delay, Disposal);
+ break;
+#endif /* HAVE_GD_GIF_ANIM */
default:
(*func_p)(im, ctx);
break;
@@ -151,6 +183,75 @@
RETURN_TRUE;
}
+
+#ifdef HAVE_GD_GIF_ANIM
+/* {{{ proto int imagegifanimend([string filename])
+ Write end mark to gif animation. */
+PHP_FUNCTION(imagegifanimend)
+{
+ zval **file;
+ char *fn = NULL;
+ FILE *fp = NULL;
+ int argc = ZEND_NUM_ARGS();
+ gdIOCtx *ctx;
+
+ if (argc < 0 || argc > 1 || zend_get_parameters_ex(argc, &file) == FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+
+ if (argc >= 1) {
+ convert_to_string_ex(file);
+ fn = Z_STRVAL_PP(file);
+ }
+
+ if ((argc == 1) || (argc > 1 && Z_STRLEN_PP(file))) {
+ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
+
+ fp = VCWD_FOPEN(fn, "ab");
+ if (!fp) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
+ RETURN_FALSE;
+ }
+
+ ctx = gdNewFileCtx(fp);
+ } else {
+ ctx = emalloc(sizeof(gdIOCtx));
+ ctx->putC = _php_image_output_putc;
+ ctx->putBuf = _php_image_output_putbuf;
+#if HAVE_LIBGD204
+ ctx->gd_free = _php_image_output_ctxfree;
+#else
+ ctx->free = _php_image_output_ctxfree;
+#endif
+
+#if APACHE && defined(CHARSET_EBCDIC)
+ /* XXX this is unlikely to work any more thies@thieso.net */
+ /* This is a binary file already: avoid EBCDIC->ASCII conversion */
+ ap_bsetflag(php3_rqst->connection->client, B_EBCDIC2ASCII, 0);
+#endif
+ }
+
+ /* This could be coded in here, as it only outputs ';' */
+ gdImageGifAnimEndCtx(ctx);
+
+#if HAVE_LIBGD204
+ ctx->gd_free(ctx);
+#else
+ ctx->free(ctx);
+#endif
+
+ if(fp) {
+ fflush(fp);
+ fclose(fp);
+ }
+
+ RETURN_TRUE;
+}
+/* }}} */
+#endif /* HAVE_GD_GIF_ANIM */
/* }}} */
/*

View file

@ -1,45 +0,0 @@
--- ext/gd/libgd/gd.h.orig Wed Apr 9 03:55:56 2003
+++ ext/gd/libgd/gd.h Sat Jun 28 15:47:56 2003
@@ -446,6 +446,30 @@
gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in);
gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in);
+void gdImageLzw(gdImagePtr im, FILE *out);
+void* gdImageLzwPtr(gdImagePtr im, int *size);
+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out);
+
+void gdImageBigGif(gdImagePtr im, FILE *out);
+void* gdImageBigGifPtr(gdImagePtr im, int *size);
+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out);
+
+void gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops);
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageBigGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageGifAnimEnd(FILE *outFile);
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops);
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageBigGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageGifAnimEndCtx(gdIOCtx *out);
+void *gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops);
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageBigGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageGifAnimEndPtr(int *size);
+
/* A custom data sink. For backwards compatibility. Use
gdIOCtx instead. */
/* The sink function must return -1 on error, otherwise the number
@@ -457,6 +481,11 @@
} gdSink, *gdSinkPtr;
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out);
+
+void gdImageGif (gdImagePtr im, FILE *out);
+void* gdImageGifPtr (gdImagePtr im, int *size);
+void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out);
+void gdImageGifToSink (gdImagePtr im, gdSinkPtr out);
void gdImageGd(gdImagePtr im, FILE *out);
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);

File diff suppressed because it is too large Load diff

View file

@ -1,73 +0,0 @@
--- ext/gd/libgd/gd_gif_out.c.orig Sat Jun 28 15:47:56 2003
+++ ext/gd/libgd/gd_gif_out.c Sat Jun 28 16:07:33 2003
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gd.h"
+
+/*
+** Wrapper functions for GIF output.
+*/
+
+void gdImageGifToSink(gdImagePtr im, gdSinkPtr outSink)
+{
+ gdIOCtx *out = gdNewSSCtx(NULL,outSink);
+ gdImageGifCtx(im, out);
+ out->gd_free(out);
+}
+
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwCtx(im, out);
+#else
+ gdImageBigGifCtx(im, out);
+#endif
+}
+
+void gdImageGif(gdImagePtr im, FILE *outFile)
+{
+#ifdef LZW_LICENCED
+ gdImageLzw(im, outFile);
+#else
+ gdImageBigGif(im, outFile);
+#endif
+}
+
+void* gdImageGifPtr(gdImagePtr im, int *size)
+{
+#ifdef LZW_LICENCED
+ return gdImageLzwPtr(im, size);
+#else
+ return gdImageBigGifPtr(im, size);
+#endif
+}
+
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ gdImageBigGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}
+
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ gdImageBigGifAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}
+
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ return gdImageLzwAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ return gdImageBigGifAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}

View file

@ -1,939 +0,0 @@
--- ext/gd/libgd/gd_lzw_out.c.orig Sat Jun 28 15:47:56 2003
+++ ext/gd/libgd/gd_lzw_out.c Sat Jun 28 16:01:04 2003
@@ -0,0 +1,936 @@
+#ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+#endif
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gd.h"
+
+/* Code drawn from ppmtogif.c, from the pbmplus package
+**
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
+** Lempel-Zim compression based on "compress".
+**
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
+**
+** Copyright (C) 1989 by Jef Poskanzer.
+**
+** Permission to use, copy, modify, and distribute this software and its
+** documentation for any purpose and without fee is hereby granted, provided
+** that the above copyright notice appear in all copies and that both that
+** copyright notice and this permission notice appear in supporting
+** documentation. This software is provided "as is" without express or
+** implied warranty.
+**
+** The Graphics Interchange Format(c) is the Copyright property of
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
+** CompuServe Incorporated.
+*/
+
+/*
+ * a code_int must be able to hold 2**GIFBITS values of type int, and also -1
+ */
+typedef int code_int;
+
+#ifdef SIGNED_COMPARE_SLOW
+typedef unsigned long int count_int;
+typedef unsigned short int count_short;
+#else /*SIGNED_COMPARE_SLOW*/
+typedef long int count_int;
+#endif /*SIGNED_COMPARE_SLOW*/
+
+static int colorstobpp(int colors);
+static void BumpPixel (void);
+static int GIFNextPixel (gdImagePtr im);
+static void GIFEncode (gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
+static void GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
+/*static void Putword (int w, gdIOCtx *fp); */
+static void compress (int init_bits, gdIOCtx *outfile, gdImagePtr im);
+static void output (code_int code);
+static void cl_block (void);
+static void cl_hash (register count_int hsize);
+static void char_init (void);
+static void char_out (int c);
+static void flush_char (void);
+/* Allows for reuse */
+static void init_statics(void);
+
+void gdImageLzwCtx(gdImagePtr im, gdIOCtx *out)
+{
+ int interlace, transparent, BitsPerPixel;
+
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code */
+ init_statics();
+ /* All set, let's do it. */
+ GIFEncode(
+ out, im->sx, im->sy, interlace, 0, transparent, BitsPerPixel,
+ im->red, im->green, im->blue, im);
+}
+
+void gdImageLzw(gdImagePtr im, FILE *outFile)
+{
+ gdIOCtx *out = gdNewFileCtx(outFile);
+ gdImageLzwCtx(im, out);
+ out->gd_free(out);
+}
+
+void* gdImageLzwPtr(gdImagePtr im, int *size)
+{
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ gdImageLzwCtx(im, out);
+ rv = gdDPExtractData(out,size);
+ out->gd_free(out);
+ return rv;
+}
+
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ int interlace, transparent, BitsPerPixel;
+
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code */
+ init_statics();
+ /* All set, let's do it. */
+ GIFAnimEncode(
+ out, im->sx, im->sy, LeftOfs, TopOfs, interlace, transparent,
+ Delay, Disposal, BitsPerPixel,
+ LocalCM > 0 ? im->red : 0, im->green, im->blue, im);
+}
+
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ gdIOCtx *out = gdNewFileCtx(outFile);
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+ out->gd_free(out);
+}
+
+void* gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+ rv = gdDPExtractData(out,size);
+ out->gd_free(out);
+ return rv;
+}
+
+
+
+static int
+colorstobpp(int colors)
+{
+ int bpp = 0;
+
+ if ( colors <= 2 )
+ bpp = 1;
+ else if ( colors <= 4 )
+ bpp = 2;
+ else if ( colors <= 8 )
+ bpp = 3;
+ else if ( colors <= 16 )
+ bpp = 4;
+ else if ( colors <= 32 )
+ bpp = 5;
+ else if ( colors <= 64 )
+ bpp = 6;
+ else if ( colors <= 128 )
+ bpp = 7;
+ else if ( colors <= 256 )
+ bpp = 8;
+ return bpp;
+ }
+
+/*****************************************************************************
+ *
+ * GIFENCODE.C - GIF Image compression interface
+ *
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background, Transparent,
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
+ *
+ *****************************************************************************/
+
+#define TRUE 1
+#define FALSE 0
+
+static int Width, Height;
+static int curx, cury;
+static long CountDown;
+static int Pass = 0;
+static int Interlace;
+
+/*
+ * Bump the 'curx' and 'cury' to point to the next pixel
+ */
+static void
+BumpPixel(void)
+{
+ /*
+ * Bump the current X position
+ */
+ ++curx;
+
+ /*
+ * If we are at the end of a scan line, set curx back to the beginning
+ * If we are interlaced, bump the cury to the appropriate spot,
+ * otherwise, just increment it.
+ */
+ if( curx == Width ) {
+ curx = 0;
+
+ if( !Interlace )
+ ++cury;
+ else {
+ switch( Pass ) {
+
+ case 0:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 4;
+ }
+ break;
+
+ case 1:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 2;
+ }
+ break;
+
+ case 2:
+ cury += 4;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 1;
+ }
+ break;
+
+ case 3:
+ cury += 2;
+ break;
+ }
+ }
+ }
+}
+
+/*
+ * Return the next pixel from the image
+ */
+static int
+GIFNextPixel(gdImagePtr im)
+{
+ int r;
+
+ if( CountDown == 0 )
+ return EOF;
+
+ --CountDown;
+
+ r = gdImageGetPixel(im, curx, cury);
+
+ BumpPixel();
+
+ return r;
+}
+
+/* public */
+
+static void
+GIFEncode(gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
+{
+ int B;
+ int RWidth, RHeight;
+ int LeftOfs, TopOfs;
+ int Resolution;
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ RWidth = Width = GWidth;
+ RHeight = Height = GHeight;
+ LeftOfs = TopOfs = 0;
+
+ Resolution = BitsPerPixel;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write the Magic header
+ */
+ gdPutBuf( Transparent < 0 ? "GIF87a" : "GIF89a", 6, fp );
+
+ /*
+ * Write out the screen width and height
+ */
+ Putword( RWidth, fp );
+ Putword( RHeight, fp );
+
+ /*
+ * Indicate that there is a global colour map
+ */
+ B = 0x80; /* Yes, there is a color map */
+
+ /*
+ * OR in the resolution
+ */
+ B |= (Resolution - 1) << 5;
+
+ /*
+ * OR in the Bits per Pixel
+ */
+ B |= (BitsPerPixel - 1);
+
+ /*
+ * Write it out
+ */
+ gdPutC( B, fp );
+
+ /*
+ * Write out the Background colour
+ */
+ gdPutC( Background, fp );
+
+ /*
+ * Byte of 0's (future expansion)
+ */
+ gdPutC( 0, fp );
+
+ /*
+ * Write out the Global Colour Map
+ */
+ for( i=0; i<ColorMapSize; ++i ) {
+ gdPutC( Red[i], fp );
+ gdPutC( Green[i], fp );
+ gdPutC( Blue[i], fp );
+ }
+
+ /*
+ * Write out extension for transparent colour index, if necessary.
+ */
+ if ( Transparent >= 0 ) {
+ gdPutC( '!', fp );
+ gdPutC( 0xf9, fp );
+ gdPutC( 4, fp );
+ gdPutC( 1, fp );
+ gdPutC( 0, fp );
+ gdPutC( 0, fp );
+ gdPutC( (unsigned char) Transparent, fp );
+ gdPutC( 0, fp );
+ }
+
+ /*
+ * Write an Image separator
+ */
+ gdPutC( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putword( LeftOfs, fp );
+ Putword( TopOfs, fp );
+ Putword( Width, fp );
+ Putword( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ */
+ if( Interlace )
+ gdPutC( 0x40, fp );
+ else
+ gdPutC( 0x00, fp );
+
+ /*
+ * Write out the initial code size
+ */
+ gdPutC( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ gdPutC( 0, fp );
+
+ /*
+ * Write the GIF file terminator
+ */
+ gdPutC( ';', fp );
+}
+
+static void
+GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
+{
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ if (LeftOfs < 0) LeftOfs = 0;
+ if (TopOfs < 0) TopOfs = 0;
+ if (Delay < 0) Delay = 100;
+ if (Disposal < 0) Disposal = 2;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ Width = IWidth;
+ Height = IHeight;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write out extension for image animation and looping
+ */
+ gdPutC( '!', fp );
+ gdPutC( 0xf9, fp );
+ gdPutC( 4, fp );
+ gdPutC( (Transparent >= 0 ? 1 : 0)
+ | (Disposal << 2), fp );
+ gdPutC( (unsigned char)(Delay & 255), fp );
+ gdPutC( (unsigned char)((Delay >> 8) & 255), fp );
+ gdPutC( (unsigned char) Transparent, fp );
+ gdPutC( 0, fp );
+
+ /*
+ * Write an Image separator
+ */
+ gdPutC( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putword( LeftOfs, fp );
+ Putword( TopOfs, fp );
+ Putword( Width, fp );
+ Putword( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ * and if it includes local colour map.
+ */
+ gdPutC( (Interlace ? 0x40 : 0)
+ | (Red ? 0x80 : 0)
+ | (Red ? BitsPerPixel - 1 : 0), fp );
+
+ /*
+ * Write out the Local Colour Map
+ */
+ if (Red)
+ for( i=0; i<ColorMapSize; ++i ) {
+ gdPutC( Red[i], fp );
+ gdPutC( Green[i], fp );
+ gdPutC( Blue[i], fp );
+ }
+
+ /*
+ * Write out the initial code size
+ */
+ gdPutC( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ gdPutC( 0, fp );
+}
+
+/* */
+/* * Write out a word to the GIF file */
+/* */
+/*static void */
+/*Putword(int w, FILE *fp) */
+/*{ */
+/* fputc( w & 0xff, fp ); */
+/* fputc( (w / 256) & 0xff, fp ); */
+/*} */
+
+
+/***************************************************************************
+ *
+ * GIFCOMPR.C - GIF Image compression routines
+ *
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
+ *
+ ***************************************************************************/
+
+/*
+ * General DEFINEs
+ */
+
+#define GIFBITS 12
+
+#define HSIZE 5003 /* 80% occupancy */
+
+#ifdef NO_UCHAR
+ typedef char char_type;
+#else /*NO_UCHAR*/
+ typedef unsigned char char_type;
+#endif /*NO_UCHAR*/
+
+/*
+ *
+ * GIF Image compression - modified 'compress'
+ *
+ * Based on: compress.c - File compression ala IEEE Computer, June 1984.
+ *
+ * By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
+ * Jim McKie (decvax!mcvax!jim)
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
+ * James A. Woods (decvax!ihnp4!ames!jaw)
+ * Joe Orost (decvax!vax135!petsd!joe)
+ *
+ */
+#include <ctype.h>
+
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
+
+static int n_bits; /* number of bits/code */
+static int maxbits = GIFBITS; /* user settable max # bits/code */
+static code_int maxcode; /* maximum code, given n_bits */
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER generate this code */
+#ifdef COMPATIBLE /* But wrong! */
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
+#else /*COMPATIBLE*/
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
+#endif /*COMPATIBLE*/
+
+static count_int htab [HSIZE];
+static unsigned short codetab [HSIZE];
+#define HashTabOf(i) htab[i]
+#define CodeTabOf(i) codetab[i]
+
+static code_int hsize = HSIZE; /* for dynamic table sizing */
+
+/*
+ * To save much memory, we overlay the table used by compress() with those
+ * used by decompress(). The tab_prefix table is the same size and type
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters. We
+ * get this from the beginning of htab. The output stack uses the rest
+ * of htab, and contains characters. There is plenty of room for any
+ * possible stack (stack used to be 8000 characters).
+ */
+
+#define tab_prefixof(i) CodeTabOf(i)
+#define tab_suffixof(i) ((char_type*)(htab))[i]
+#define de_stack ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
+
+static code_int free_ent = 0; /* first unused entry */
+
+/*
+ * block compression parameters -- after all codes are used up,
+ * and compression rate changes, start over.
+ */
+static int clear_flg = 0;
+
+static int offset;
+static long int in_count = 1; /* length of input */
+static long int out_count = 0; /* # of codes output (for debugging) */
+
+/*
+ * compress stdin to stdout
+ *
+ * Algorithm: use open addressing double hashing (no chaining) on the
+ * prefix code / next character combination. We do a variant of Knuth's
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
+ * secondary probe. Here, the modular division first probe is gives way
+ * to a faster exclusive-or manipulation. Also do block compression with
+ * an adaptive reset, whereby the code table is cleared when the compression
+ * ratio decreases, but after the table fills. The variable-length output
+ * codes are re-sized at this point, and a special CLEAR code is generated
+ * for the decompressor. Late addition: construct the table according to
+ * file size for noticeable speed improvement on small files. Please direct
+ * questions about this implementation to ames!jaw.
+ */
+
+static int g_init_bits;
+static gdIOCtx* g_outfile;
+
+static int ClearCode;
+static int EOFCode;
+
+static void
+compress(int init_bits, gdIOCtx *outfile, gdImagePtr im)
+{
+ register long fcode;
+ register code_int i /* = 0 */;
+ register int c;
+ register code_int ent;
+ register code_int disp;
+ register code_int hsize_reg;
+ register int hshift;
+
+ /*
+ * Set up the globals: g_init_bits - initial number of bits
+ * g_outfile - pointer to output file
+ */
+ g_init_bits = init_bits;
+ g_outfile = outfile;
+
+ /*
+ * Set up the necessary values
+ */
+ offset = 0;
+ out_count = 0;
+ clear_flg = 0;
+ in_count = 1;
+ maxcode = MAXCODE(n_bits = g_init_bits);
+
+ ClearCode = (1 << (init_bits - 1));
+ EOFCode = ClearCode + 1;
+ free_ent = ClearCode + 2;
+
+ char_init();
+
+ ent = GIFNextPixel( im );
+
+ hshift = 0;
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
+ ++hshift;
+ hshift = 8 - hshift; /* set hash code range bound */
+
+ hsize_reg = hsize;
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
+
+ output( (code_int)ClearCode );
+
+#ifdef SIGNED_COMPARE_SLOW
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
+#else /*SIGNED_COMPARE_SLOW*/
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+
+ ++in_count;
+
+ fcode = (long) (((long) c << maxbits) + ent);
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
+ goto nomatch;
+ disp = hsize_reg - i; /* secondary hash (after G. Knott) */
+ if ( i == 0 )
+ disp = 1;
+probe:
+ if ( (i -= disp) < 0 )
+ i += hsize_reg;
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ }
+ if ( (long)HashTabOf (i) > 0 )
+ goto probe;
+nomatch:
+ output ( (code_int) ent );
+ ++out_count;
+ ent = c;
+#ifdef SIGNED_COMPARE_SLOW
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
+#else /*SIGNED_COMPARE_SLOW*/
+ if ( free_ent < maxmaxcode ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
+ HashTabOf (i) = fcode;
+ } else
+ cl_block();
+ }
+ /*
+ * Put out the final code.
+ */
+ output( (code_int)ent );
+ ++out_count;
+ output( (code_int) EOFCode );
+}
+
+/*****************************************************************
+ * TAG( output )
+ *
+ * Output the given code.
+ * Inputs:
+ * code: A n_bits-bit integer. If == -1, then EOF. This assumes
+ * that n_bits =< (long)wordsize - 1.
+ * Outputs:
+ * Outputs code to the file.
+ * Assumptions:
+ * Chars are 8 bits long.
+ * Algorithm:
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
+ * fit in it exactly). Use the VAX insv instruction to insert each
+ * code in turn. When the buffer fills up empty it and start over.
+ */
+
+static unsigned long cur_accum = 0;
+static int cur_bits = 0;
+
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
+ 0x001F, 0x003F, 0x007F, 0x00FF,
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
+
+static void
+output(code_int code)
+{
+ cur_accum &= masks[ cur_bits ];
+
+ if( cur_bits > 0 )
+ cur_accum |= ((long)code << cur_bits);
+ else
+ cur_accum = code;
+
+ cur_bits += n_bits;
+
+ while( cur_bits >= 8 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ /*
+ * If the next entry is going to be too big for the code size,
+ * then increase it, if possible.
+ */
+ if ( free_ent > maxcode || clear_flg ) {
+
+ if( clear_flg ) {
+
+ maxcode = MAXCODE (n_bits = g_init_bits);
+ clear_flg = 0;
+
+ } else {
+
+ ++n_bits;
+ if ( n_bits == maxbits )
+ maxcode = maxmaxcode;
+ else
+ maxcode = MAXCODE(n_bits);
+ }
+ }
+
+ if( code == EOFCode ) {
+ /*
+ * At EOF, write the rest of the buffer.
+ */
+ while( cur_bits > 0 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ flush_char();
+
+/* fflush( g_outfile ); */
+/* */
+/* if( ferror( g_outfile ) ) */
+/* return; */
+ }
+}
+
+/*
+ * Clear out the hash table
+ */
+static void
+cl_block (void) /* table clear for block compress */
+{
+
+ cl_hash ( (count_int) hsize );
+ free_ent = ClearCode + 2;
+ clear_flg = 1;
+
+ output( (code_int)ClearCode );
+}
+
+static void
+cl_hash(register count_int hsize) /* reset code table */
+
+{
+
+ register count_int *htab_p = htab+hsize;
+
+ register long i;
+ register long m1 = -1;
+
+ i = hsize - 16;
+ do { /* might use Sys V memset(3) here */
+ *(htab_p-16) = m1;
+ *(htab_p-15) = m1;
+ *(htab_p-14) = m1;
+ *(htab_p-13) = m1;
+ *(htab_p-12) = m1;
+ *(htab_p-11) = m1;
+ *(htab_p-10) = m1;
+ *(htab_p-9) = m1;
+ *(htab_p-8) = m1;
+ *(htab_p-7) = m1;
+ *(htab_p-6) = m1;
+ *(htab_p-5) = m1;
+ *(htab_p-4) = m1;
+ *(htab_p-3) = m1;
+ *(htab_p-2) = m1;
+ *(htab_p-1) = m1;
+ htab_p -= 16;
+ } while ((i -= 16) >= 0);
+
+ for ( i += 16; i > 0; --i )
+ *--htab_p = m1;
+}
+
+/******************************************************************************
+ *
+ * GIF Specific routines
+ *
+ ******************************************************************************/
+
+/*
+ * Number of characters so far in this 'packet'
+ */
+static int a_count;
+
+/*
+ * Set up the 'byte output' routine
+ */
+static void
+char_init(void)
+{
+ a_count = 0;
+}
+
+/*
+ * Define the storage for the packet accumulator
+ */
+static char accum[ 256 ];
+
+/*
+ * Add a character to the end of the current packet, and if it is 254
+ * characters, flush the packet to disk.
+ */
+static void
+char_out(int c)
+{
+ accum[ a_count++ ] = c;
+ if( a_count >= 254 )
+ flush_char();
+}
+
+/*
+ * Flush the packet to disk, and reset the accumulator
+ */
+static void
+flush_char(void)
+{
+ if( a_count > 0 ) {
+ gdPutC( a_count, g_outfile );
+ gdPutBuf( accum, a_count, g_outfile );
+ a_count = 0;
+ }
+}
+
+static void init_statics(void) {
+ /* Some of these are properly initialized later. What I'm doing
+ here is making sure code that depends on C's initialization
+ of statics doesn't break when the code gets called more
+ than once. */
+ Width = 0;
+ Height = 0;
+ curx = 0;
+ cury = 0;
+ CountDown = 0;
+ Pass = 0;
+ Interlace = 0;
+ a_count = 0;
+ cur_accum = 0;
+ cur_bits = 0;
+ g_init_bits = 0;
+ g_outfile = 0;
+ ClearCode = 0;
+ EOFCode = 0;
+ free_ent = 0;
+ clear_flg = 0;
+ offset = 0;
+ in_count = 1;
+ out_count = 0;
+ hsize = HSIZE;
+ n_bits = 0;
+ maxbits = GIFBITS;
+ maxcode = 0;
+ maxmaxcode = (code_int)1 << GIFBITS;
+}
+
+
+/* +-------------------------------------------------------------------+ */
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */
+/* | Permission to use, copy, modify, and distribute this software | */
+/* | and its documentation for any purpose and without fee is hereby | */
+/* | granted, provided that the above copyright notice appear in all | */
+/* | copies and that both that copyright notice and this permission | */
+/* | notice appear in supporting documentation. This software is | */
+/* | provided "as is" without express or implied warranty. | */
+/* +-------------------------------------------------------------------+ */

View file

@ -1,21 +0,0 @@
--- ext/gd/php_gd.h.orig Mon Mar 31 10:49:30 2003
+++ ext/gd/php_gd.h Sat Jun 28 15:47:56 2003
@@ -40,6 +40,8 @@
#define PHP_GDIMG_TYPE_GD 8
#define PHP_GDIMG_TYPE_GD2 9
#define PHP_GDIMG_TYPE_GD2PART 10
+#define PHP_GDIMG_TYPE_GIFANIMBEGIN 11
+#define PHP_GDIMG_TYPE_GIFANIMADD 12
#ifdef PHP_WIN32
#define PHP_GD_API __declspec(dllexport)
@@ -137,6 +139,9 @@
PHP_FUNCTION(imagefontheight);
PHP_FUNCTION(imagegif );
+PHP_FUNCTION(imagegifanimbegin);
+PHP_FUNCTION(imagegifanimadd);
+PHP_FUNCTION(imagegifanimend);
PHP_FUNCTION(imagejpeg );
PHP_FUNCTION(imagepng);
PHP_FUNCTION(imagewbmp);

View file

@ -1,12 +1,12 @@
--- main/php_config.h.in.orig Thu Jun 19 00:06:40 2003
+++ main/php_config.h.in Sat Jun 28 15:47:56 2003
@@ -1523,6 +1523,9 @@
#undef HAVE_GD_GIF_CREATE
--- main/php_config.h.in.orig Mon Jul 12 16:30:37 2004
+++ main/php_config.h.in Mon Jul 12 16:31:38 2004
@@ -2362,6 +2362,9 @@
/* */
+#undef HAVE_GD_GIF_ANIM
#undef SOLARIS_YP
+/* Include external shared modules configurations */
+#include "ext/php_config.h"
+
+/* */
#undef HAVE_GD_WBMP
/* Whether sprintf is broken */
#undef ZEND_BROKEN_SPRINTF
/* */

View file

@ -1,18 +1,20 @@
--- pear/scripts/pearcmd.php.orig Fri May 16 17:31:37 2003
+++ pear/scripts/pearcmd.php Fri May 16 17:36:10 2003
--- pear/scripts/pearcmd.php.orig Sun Jun 6 17:52:41 2004
+++ pear/scripts/pearcmd.php Mon Jul 12 16:22:50 2004
@@ -1,3 +1,4 @@
+#!%%PREFIX%%/bin/php -n -dsafe_mode=0 -doutput_buffering=1
+#!%%PREFIX%%/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1
<?php
//
// +----------------------------------------------------------------------+
@@ -24,9 +25,7 @@
@@ -24,9 +25,9 @@
/**
* @nodep Gtk
*/
-if ('@include_path@' != '@'.'include_path'.'@') {
- ini_set('include_path', '@include_path@');
-}
+dl('pcre.so');
+dl('xml.so');
+ini_set('include_path', '%%PREFIX%%/share/pear:%%PREFIX%%/share/pear/bootstrap');
ini_set('allow_url_fopen', true);
set_time_limit(0);
ob_implicit_flush(true);
if (!ini_get('safe_mode')) {
set_time_limit(0);

View file

@ -1,19 +1,15 @@
--- scripts/Makefile.frag.orig Mon Jun 28 10:41:39 2004
+++ scripts/Makefile.frag Mon Jun 28 10:47:24 2004
@@ -29,12 +29,15 @@
main/ \
main/streams/ \
--- scripts/Makefile.frag.orig Mon Jul 12 19:30:23 2004
+++ scripts/Makefile.frag Mon Jul 12 19:30:48 2004
@@ -31,11 +31,7 @@
regex/ \
+ ext/gd/ \
+ ext/gd/libgd/ \
ext/libxml/ \
ext/standard/ \
ext/session/ \
ext/xml/ \
- ext/session/ \
- ext/xml/ \
- ext/xml/expat/ \
ext/mbstring/ \
+ ext/mbstring/libmbfl/ \
+ ext/mbstring/libmbfl/mbfl/ \
ext/sqlite/libsqlite/src/sqlite.h
- ext/mbstring/ \
- ext/sqlite/libsqlite/src/sqlite.h
+ ext/spl/
install-headers:
-@for i in $(HEADER_DIRS); do \

View file

@ -1,19 +0,0 @@
*****************************************************************************
You have installed the php5 package.
Have a look at the php5 port if you need additional extensions other than
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
and XML.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php5.tar
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
*****************************************************************************

10
lang/php5/pkg-message.mod Normal file
View file

@ -0,0 +1,10 @@
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
***************************************************************

View file

@ -0,0 +1,8 @@
*********************************************************
To use PEAR you have to add the correct include path into
your ${LOCALBASE}/etc/php.ini configuration file, like:
include_path = ".:${PREFIX}/share/pear"
*********************************************************

View file

@ -1,9 +1,10 @@
%%CLI%%%%PEAR%%bin/pear
%%CLI%%bin/php
bin/php-config
bin/phpextdist
bin/phpize
etc/php.conf
@exec touch %D/etc/php.ini
@unexec [ -s %D/etc/php.ini ] || rm %D/etc/php.ini
etc/php.ini-dist
etc/php.ini-recommended
include/php/TSRM/TSRM.h
@ -67,45 +68,14 @@ include/php/Zend/zend_ts_hash.h
include/php/Zend/zend_types.h
include/php/Zend/zend_variables.h
include/php/acconfig.h
include/php/ext/gd/gdcache.h
include/php/ext/gd/gdttf.h
include/php/ext/gd/libgd/gd.h
include/php/ext/gd/libgd/gd_io.h
include/php/ext/gd/libgd/gdcache.h
include/php/ext/gd/libgd/gdfontg.h
include/php/ext/gd/libgd/gdfontl.h
include/php/ext/gd/libgd/gdfontmb.h
include/php/ext/gd/libgd/gdfonts.h
include/php/ext/gd/libgd/gdfontt.h
include/php/ext/gd/libgd/gdhelpers.h
include/php/ext/gd/libgd/jisx0208.h
include/php/ext/gd/libgd/wbmp.h
include/php/ext/gd/php_gd.h
include/php/ext/libxml/php_libxml.h
include/php/ext/mbstring/mb_gpc.h
include/php/ext/mbstring/mbstring.h
include/php/ext/mbstring/php_mbregex.h
include/php/ext/mbstring/php_unicode.h
include/php/ext/mbstring/unicode_data.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_consts.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_language.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_string.h
include/php/ext/session/mod_files.h
include/php/ext/session/mod_mm.h
include/php/ext/session/mod_user.h
include/php/ext/session/php_session.h
include/php/ext/sqlite/libsqlite/src/sqlite.h
include/php/ext/spl/php_spl.h
include/php/ext/spl/spl_array.h
include/php/ext/spl/spl_directory.h
include/php/ext/spl/spl_engine.h
include/php/ext/spl/spl_functions.h
include/php/ext/spl/spl_iterators.h
include/php/ext/spl/spl_sxe.h
include/php/ext/standard/base64.h
include/php/ext/standard/basic_functions.h
include/php/ext/standard/crc32.h
@ -168,8 +138,8 @@ include/php/ext/standard/uniqid.h
include/php/ext/standard/url.h
include/php/ext/standard/url_scanner.h
include/php/ext/standard/url_scanner_ex.h
include/php/ext/xml/expat_compat.h
include/php/ext/xml/php_xml.h
@exec touch %D/include/php/ext/php_config.h
@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
include/php/main/SAPI.h
include/php/main/build-defs.h
include/php/main/config.nw.h
@ -226,65 +196,15 @@ lib/php/build/shtool
%%SAPI_FILE%%
%%APACHE%%@exec %D/sbin/apxs -e -a -n php5 %f
%%APACHE%%@unexec %D/sbin/apxs -e -A -n php5 %f
%%CLI%%%%PEAR%%share/pear/bootstrap/Archive/Tar.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR.php
%%CLI%%%%PEAR%%share/pear/bootstrap/System.php
%%CLI%%%%PEAR%%share/pear/bootstrap/Console/Getopt.php
%%CLI%%%%PEAR%%share/pear/bootstrap/OS/Guess.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Autoloader.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Builder.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Auth.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Build.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Common.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Config.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Install.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Mirror.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Package.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Registry.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Remote.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Common.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Config.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Dependency.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/DependencyDB.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Downloader.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/ErrorStack.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Exception.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Frontend/CLI.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Installer.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Packager.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Registry.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Remote.php
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC.php
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC/Server.php
@dirrm include/php/TSRM
@dirrm include/php/Zend
@dirrm include/php/ext/gd/libgd
@dirrm include/php/ext/gd
@dirrm include/php/ext/libxml
@dirrm include/php/ext/mbstring/libmbfl/mbfl
@dirrm include/php/ext/mbstring/libmbfl
@dirrm include/php/ext/mbstring
@dirrm include/php/ext/session
@dirrm include/php/ext/sqlite/libsqlite/src
@dirrm include/php/ext/sqlite/libsqlite
@dirrm include/php/ext/sqlite
@dirrm include/php/ext/spl
@dirrm include/php/ext/standard
@dirrm include/php/ext/xml
@dirrm include/php/ext
@unexec rmdir %D/include/php/ext 2> /dev/null || true
@dirrm include/php/main/streams
@dirrm include/php/main
@dirrm include/php/regex
@dirrm include/php/
@unexec rmdir %D/include/php 2> /dev/null || true
@dirrm lib/php/build
@unexec rmdir %D/lib/php 2> /dev/null || true
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Archive
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Console
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/OS
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Command
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Frontend
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML/RPC
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap
%%CLI%%%%PEAR%%@unexec rmdir %D/share/pear 2> /dev/null || true

42
lang/php5/pkg-plist.pear Normal file
View file

@ -0,0 +1,42 @@
bin/pear
share/pear/bootstrap/Archive/Tar.php
share/pear/bootstrap/PEAR.php
share/pear/bootstrap/System.php
share/pear/bootstrap/Console/Getopt.php
share/pear/bootstrap/OS/Guess.php
share/pear/bootstrap/PEAR/Autoloader.php
share/pear/bootstrap/PEAR/Builder.php
share/pear/bootstrap/PEAR/Command.php
share/pear/bootstrap/PEAR/Command/Auth.php
share/pear/bootstrap/PEAR/Command/Build.php
share/pear/bootstrap/PEAR/Command/Common.php
share/pear/bootstrap/PEAR/Command/Config.php
share/pear/bootstrap/PEAR/Command/Install.php
share/pear/bootstrap/PEAR/Command/Mirror.php
share/pear/bootstrap/PEAR/Command/Package.php
share/pear/bootstrap/PEAR/Command/Registry.php
share/pear/bootstrap/PEAR/Command/Remote.php
share/pear/bootstrap/PEAR/Common.php
share/pear/bootstrap/PEAR/Config.php
share/pear/bootstrap/PEAR/Dependency.php
share/pear/bootstrap/PEAR/DependencyDB.php
share/pear/bootstrap/PEAR/Downloader.php
share/pear/bootstrap/PEAR/ErrorStack.php
share/pear/bootstrap/PEAR/Exception.php
share/pear/bootstrap/PEAR/Frontend/CLI.php
share/pear/bootstrap/PEAR/Installer.php
share/pear/bootstrap/PEAR/Packager.php
share/pear/bootstrap/PEAR/Registry.php
share/pear/bootstrap/PEAR/Remote.php
share/pear/bootstrap/XML/RPC.php
share/pear/bootstrap/XML/RPC/Server.php
@dirrm share/pear/bootstrap/Archive
@dirrm share/pear/bootstrap/Console
@dirrm share/pear/bootstrap/OS
@dirrm share/pear/bootstrap/PEAR/Command
@dirrm share/pear/bootstrap/PEAR/Frontend
@dirrm share/pear/bootstrap/PEAR
@dirrm share/pear/bootstrap/XML/RPC
@dirrm share/pear/bootstrap/XML
@dirrm share/pear/bootstrap
@unexec rmdir %D/share/pear 2> /dev/null || true

View file

@ -1,109 +0,0 @@
#!/bin/sh
# $FreeBSD$
if [ -f ${WRKDIR}/Makefile.inc ]; then
exit
fi
tempfile=`/usr/bin/mktemp -t checklist`
if [ "${BATCH}" ]; then
echo "${SEL_OPTIONS}" > $tempfile
else
if [ -f "${OPTION_FILE}" ]; then
for i in `${CAT} ${OPTION_FILE}`
do
export $i
done
fi
/usr/bin/dialog --title "configuration options" --clear --checklist "\n\
Please select desired options:" -1 -1 16 \
BCMATH "bc style precision math functions" ${WITH_BCMATH:-OFF} \
BZIP2 "bzip2 library support" ${WITH_BZIP2:-OFF} \
CALENDAR "calendar conversion support" ${WITH_CALENDAR:-OFF} \
CDB "cdb database support (dba)" ${WITH_CDB:-OFF} \
CRACK "crack support" ${WITH_CRACK:-OFF} \
CTYPE "ctype functions" ${WITH_CTYPE:-OFF} \
CURL "CURL support" ${WITH_CURL:-OFF} \
DB4 "Berkeley DB4 support" ${WITH_DB4:-OFF} \
DBASE "dBase library support" ${WITH_DBASE:-OFF} \
DBX "dbx support" ${WITH_DBX:-OFF} \
DIO "Direct I/O support" ${WITH_DIO:-OFF} \
DOM "DOM support" ${WITH_DOM:-OFF} \
EXIF "EXIF support" ${WITH_EXIF:-OFF} \
FILEPRO "filePro support" ${WITH_FILEPRO:-OFF} \
FTP "FTP support" ${WITH_FTP:-OFF} \
GD "GD library support" ${WITH_GD:-OFF} \
GDBM "GDBM database support (dba)" ${WITH_GDBM:-OFF} \
GETTEXT "gettext library support" ${WITH_GETTEXT:-OFF} \
GMP "GNU MP support" ${WITH_GMP:-OFF} \
ICONV "iconv support" ${WITH_ICONV:-ON} \
IMAP "IMAP support" ${WITH_IMAP:-OFF} \
INIFILE "INI file support (dba)" ${WITH_INIFILE:-OFF} \
INTERBASE "Interbase 6 database support (Firebird)" ${WITH_INTERBASE:-OFF} \
MBSTRING "multibyte string support" ${WITH_MBSTRING:-OFF} \
MCVE "MCVE support (implies OPENSSL)" ${WITH_MCVE:-OFF} \
MCRYPT "Encryption support" ${WITH_MCRYPT:-OFF} \
MHASH "Crypto-hashing support" ${WITH_MHASH:-OFF} \
MING "ming shockwave flash support" ${WITH_MING:-OFF} \
MNOGOSEARCH "mnoGoSearch support" ${WITH_MNOGOSEARCH:-OFF} \
MSSQL "MS-SQL database support" ${WITH_MSSQL:-OFF} \
MYSQL "MySQL database support" ${WITH_MYSQL:-OFF} \
MYSQLI "MySQLi database support" ${WITH_MYSQLI:-OFF} \
NCURSES "ncurses support (CLI only)" ${WITH_NCURSES:-OFF} \
OPENLDAP "OpenLDAP support" ${WITH_OPENLDAP:-OFF} \
OPENSSL "OpenSSL support" ${WITH_OPENSSL:-OFF} \
ORACLE "Oracle support" ${WITH_ORACLE:-OFF} \
PCNTL "pcntl support (CLI only)" ${WITH_PCNTL:-OFF} \
PCRE "Perl Compatible Regular Expression support" ${WITH_PCRE:-OFF} \
POSIX "POSIX-like functions" ${WITH_POSIX:-OFF} \
POSTGRESQL "PostgreSQL database support" ${WITH_POSTGRESQL:-OFF} \
PSPELL "pspell support" ${WITH_PSPELL:-OFF} \
READLINE "readline support (CLI only)" ${WITH_READLINE:-OFF} \
RECODE "recode support" ${WITH_RECODE:-OFF} \
SESSION "session support" ${WITH_SESSION:-OFF} \
SHMOP "shmop support" ${WITH_SHMOP:-OFF} \
SIMPLEXML "simplexml support" ${WITH_SIMPLEXML:-OFF} \
SNMP "SNMP support (implies OPENSSL)" ${WITH_SNMP:-OFF} \
SOAP "SOAP support" ${WITH_SOAP:-OFF} \
SOCKETS "sockets support" ${WITH_SOCKETS:-OFF} \
SPL "Standard PHP Library support" ${WITH_SPL:-ON} \
SQLITE "sqlite support" ${WITH_SQLITE:-OFF} \
SYBASEDB "Sybase database support (DB-lib)" ${WITH_SYBASEDB:-OFF} \
SYBASECT "Sybase database support (CT-lib)" ${WITH_SYBASECT:-OFF} \
SYSVMSG "System V message support" ${WITH_SYSVMSG:-OFF} \
SYSVSEM "System V semaphore support" ${WITH_SYSVSEM:-OFF} \
SYSVSHM "System V shared memory support" ${WITH_SYSVSHM:-OFF} \
TIDY "TIDY support" ${WITH_TIDY:-OFF} \
TOKENIZER "tokenizer support" ${WITH_TOKENIZER:-OFF} \
UNIXODBC "unixODBC support" ${WITH_UNIXODBC:-OFF} \
WDDX "WDDX support (implies XML)" ${WITH_WDDX:-OFF} \
XML "XML support" ${WITH_XML:-OFF} \
XMLRPC "XMLRPC-EPI support (implies ICONV)" ${WITH_XMLRPC:-OFF} \
XSL "XSL support" ${WITH_XSL:-OFF} \
YP "YP/NIS support" ${WITH_YP:-OFF} \
ZLIB "ZLIB support" ${WITH_ZLIB:-OFF} \
2> $tempfile
fi
retval=$?
if [ -s $tempfile ]; then
set `${CAT} $tempfile | ${SED} 's|"||g'`
fi
rm -f $tempfile
case $retval in
0) if [ -z "$*" ]; then
echo "Nothing selected"
fi
;;
1) echo "Cancel pressed."
exit 1
;;
esac
exec > ${WRKDIR}/Makefile.inc
while [ $1 ]; do
echo "WITH_$1=yes";
shift
done

View file

@ -1,65 +0,0 @@
WITH_BCMATH=OFF
WITH_BZIP2=OFF
WITH_CALENDAR=OFF
WITH_CDB=OFF
WITH_CRACK=OFF
WITH_CTYPE=ON
WITH_CURL=OFF
WITH_DB4=OFF
WITH_DBASE=OFF
WITH_DBX=OFF
WITH_DIO=OFF
WITH_DOM=ON
WITH_EXIF=OFF
WITH_FILEPRO=OFF
WITH_FTP=OFF
WITH_GD=OFF
WITH_GDBM=OFF
WITH_GETTEXT=OFF
WITH_GMP=OFF
WITH_ICONV=ON
WITH_IMAP=OFF
WITH_INIFILE=OFF
WITH_INTERBASE=OFF
WITH_MBSTRING=OFF
WITH_MCVE=OFF
WITH_MCRYPT=OFF
WITH_MHASH=OFF
WITH_MING=OFF
WITH_MNOGOSEARCH=OFF
WITH_MSSQL=OFF
WITH_MYSQL=OFF
WITH_MYSQLI=OFF
WITH_NCURSES=OFF
WITH_OPENLDAP=OFF
WITH_OPENSSL=OFF
WITH_ORACLE=OFF
WITH_PCNTL=OFF
WITH_PCRE=ON
WITH_POSIX=ON
WITH_POSTGRESQL=OFF
WITH_PSPELL=OFF
WITH_READLINE=OFF
WITH_RECODE=OFF
WITH_SESSION=ON
WITH_SHMOP=OFF
WITH_SIMPLEXML=ON
WITH_SNMP=OFF
WITH_SOAP=OFF
WITH_SOCKETS=OFF
WITH_SPL=ON
WITH_SQLITE=ON
WITH_SYBASEDB=OFF
WITH_SYBASECT=OFF
WITH_SYSVMSG=OFF
WITH_SYSVSEM=OFF
WITH_SYSVSHM=OFF
WITH_TIDY=OFF
WITH_TOKENIZER=ON
WITH_UNIXODBC=OFF
WITH_WDDX=OFF
WITH_XML=ON
WITH_XMLRPC=OFF
WITH_XSL=OFF
WITH_YP=OFF
WITH_ZLIB=ON

View file

@ -4,58 +4,25 @@
#
# $FreeBSD$
#
# There are many ways to select which extensions you want to enable, either
# in interactive mode or in batch mode.
#
# By default, the enabled extensions are: CTYPE, DOM, ICONV, PCRE, POSIX,
# SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER and XML.
# This behaviour can be changed overriding the PHP5_OPTIONS variable
# (e.g. PHP5_OPTIONS="EXT1 EXT2 EXT3").
#
# Another way is to use the WITH_<EXT> and WITHOUT_<EXT> knobs, for additional
# and default extensions respectively (implies batch mode).
#
# The last way reads an "extension" file, located in ~/php5_options (the
# location is overridable by the PHP5_OPTFILE variable). You may find an
# example in scripts/php5_options (interactive mode only).
#
PORTNAME= php5
PORTVERSION= 5.0.0
PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES?= lang devel www
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,}
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,} \
http://downloads.php.net/ilia/:rc \
http://downloads.php.net/jani/:rc
MASTER_SITE_SUBDIR= distributions/:release
.if defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE)
PKGNAMEPREFIX= mod_
.else
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
PKGNAMESUFFIX= -cgi
.else
PKGNAMESUFFIX= -cli
.endif
.endif
.endif
DISTNAME= php-${PORTVERSION:S/.r/RC/}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
MAINTAINER?= ale@FreeBSD.org
COMMENT?= PHP Scripting Language (Apache Module and CLI)
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
COMMENT= PHP Common Gateway Interface
.else
COMMENT= PHP Command Line Interpreter
.endif
.else
.if defined(WITHOUT_CLI)
COMMENT= PHP Apache Module
.endif
.endif
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
USE_BZIP2= yes
USE_SUBMAKE= yes
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} == "-cgi" || ${PKGNAMESUFFIX} == "-cli"
GNU_CONFIGURE= yes
USE_BISON= yes
USE_REINPLACE= yes
@ -63,7 +30,12 @@ USE_REINPLACE= yes
CONFIGURE_ARGS= --enable-versioning \
--enable-memory-limit \
--with-layout=GNU \
--disable-all
--disable-all \
--enable-libxml \
--with-libxml-dir=${LOCALBASE} \
--enable-spl
USE_GNOME= libxml2
.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
CONFIGURE_ARGS+=--with-regex=php
@ -77,463 +49,63 @@ CONFIGURE_ARGS+=--with-regex=apache
.endif
.endif
EXT_DIR= 20040412
SAPI_FILE= "@comment "
.if !defined(PKGNAMEPREFIX) && !defined(PKGNAMESUFFIX)
PHP_SAPI= full
WITH_APACHE= yes
.else
.if !defined(PKGNAMEPREFIX)
PHP_SAPI= ${PKGNAMESUFFIX:S/-//}
.else
PHP_SAPI= ${PKGNAMEPREFIX:S/_//}
WITH_APACHE= yes
.endif
.endif
CONFLICTS= php5-cli-5* mod_php5-5* php5-cgi-5*
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
CONFLICTS= php5-5* php5-cli-5* mod_php5-5*
.else
CONFLICTS= php5-5* php5-cgi-5* mod_php5-5*
.if defined(WITH_APACHE)
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
.endif
.else
.if defined(WITHOUT_CLI)
CONFLICTS= php5-5* php5-cli-5* php5-cgi-5*
.if ${PHP_SAPI} == "cgi"
OPTIONS= REDIRECT "Enable force-cgi-redirect support" off \
DISCARD "Enable discard-path support" off \
FASTCGI "Enable fastcgi support" off \
PATHINFO "Enable path-info-check support" on
.endif
.if defined(WITH_APACHE)
OPTIONS= APACHE2 "Use apache 2.x instead of apache 1.3.x" off
.endif
OPTIONS+= DEBUG "Enable debug" off \
IPV6 "Enable ipv6 support" on
EXT_DIR= 20040412
CONFLICTS?= php5-cli-5* mod_php5-5* php5-cgi-5*
CONFLICTS+= php4-4* php4-cli-4* mod_php4-4* php4-cgi-4*
.if defined(WITHOUT_APACHE)
.if defined(WITHOUT_CLI)
.if defined(WITH_FASTCGI)
CONFIGURE_ARGS+=--enable-fastcgi
.else
CONFIGURE_ARGS+=--enable-discard-path
.endif
SAPI_FILE= bin/php
.else
CONFIGURE_ARGS+=--disable-cgi
.endif
PLIST_SUB+= APACHE="@comment "
.else
PLIST_SUB+= APACHE=""
.endif
.if defined(WITHOUT_CLI)
.if ${PHP_SAPI} == "cgi" || ${PHP_SAPI} == "mod"
CONFIGURE_ARGS+=--disable-cli
PLIST_SUB+= CLI="@comment "
.else
.if !defined(WITHOUT_PEAR)
CONFIGURE_ARGS+=--with-pear
PLIST_SUB+= PEAR=""
.else
PLIST_SUB+= PEAR="@comment "
.endif
MAN1= php.1
.if ${PHP_SAPI} == "full" || ${PHP_SAPI} == "cli"
PLIST_SUB+= CLI=""
.endif
ALL_OPTIONS= BCMATH BZIP2 CALENDAR CDB CRACK CTYPE CURL DB4 DBASE DBX DIO \
DOM EXIF FILEPRO FTP GD GDBM GETTEXT GMP ICONV IMAP INTERBASE \
INIFILE MBSTRING MCVE MCRYPT MHASH MING MNOGOSEARCH MSSQL \
MYSQL MYSQLI NCURSES OPENLDAP OPENSSL ORACLE PCNTL PCRE \
POSIX POSTGRESQL PSPELL READLINE RECODE SESSION SHMOP \
SIMPLEXML SNMP SOAP SOCKETS SPL SQLITE SYBASEDB SYBASECT \
SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER UNIXODBC WDDX XML \
XMLRPC XSL YP ZLIB
.for opt in ${ALL_OPTIONS}
.if defined(WITH_${opt}) || defined(WITHOUT_${opt})
BATCH= yes
.endif
.endfor
.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
IS_INTERACTIVE= yes
.endif
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
PHP5_OPTFILE?= ${HOME}/php5_options
PHP5_OPTIONS?= CTYPE DOM ICONV PCRE POSIX SESSION SIMPLEXML SPL SQLITE TOKENIZER XML
.for opt in ${ALL_OPTIONS}
.if defined(WITH_${opt})
SEL_OPTIONS+= ${opt}
.endif
.endfor
.for opt in ${PHP5_OPTIONS}
.if !defined(WITHOUT_${opt})
SEL_OPTIONS+= ${opt}
.if !exists(${WRKDIR}/Makefile.inc)
WITH_${opt}= yes
.endif
.endif
SCRIPTS_ENV+= WITH_${opt}=ON
.endfor
SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \
OPTION_FILE="${PHP5_OPTFILE}" \
WRKDIR="${WRKDIR}" \
CAT="${CAT}" \
SED="${SED}"
.if exists(${WRKDIR}/Makefile.inc)
.include "${WRKDIR}/Makefile.inc"
.endif
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
WITH_PCRE= yes
WITH_XML= yes
.endif
.if defined(WITH_CDB) || defined(WITH_DB4) || defined(WITH_GDBM) || defined(WITH_INIFILE)
WITH_DBA= yes
.endif
.if defined(WITH_XSL)
WITH_DOM= yes
.endif
.if defined(WITH_XMLRPC)
WITH_ICONV_DEP= yes
.endif
.if defined(WITH_MCVE) || defined(WITH_SNMP)
WITH_OPENSSL_DEP= yes
.endif
.if defined(WITH_DOM) || defined(WITH_SIMPLEXML) || defined(WITH_SOAP)
WITH_XML_DEP= yes
.endif
.if defined(WITH_GD) || defined(WITH_MYSQL)
WITH_ZLIB_DEP= yes
.endif
.if defined(WITH_BCMATH)
CONFIGURE_ARGS+=--enable-bcmath
.endif
.if defined(WITH_BZIP2)
.if exists(/usr/bin/bzip2)
BZIP2BASE= /usr
MAN1= php.1
.else
BZIP2BASE= ${LOCALBASE}
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif
CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE}
PLIST_SUB+= CLI="@comment "
.endif
.if defined(WITH_CALENDAR)
CONFIGURE_ARGS+=--enable-calendar
.endif
.if defined(WITH_CDB)
CONFIGURE_ARGS+=--with-cdb
.endif
.if defined(WITH_CRACK)
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
.endif
.if defined(WITH_CTYPE)
CONFIGURE_ARGS+=--enable-ctype
.endif
.if defined(WITH_CURL)
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if defined(WITH_DB4)
WITH_DB4_VER?= 41
.if ${WITH_DB4_VER} == 42
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
.if defined(WITH_APACHE)
PLIST_SUB+= APACHE=""
.else
.if ${WITH_DB4_VER} == 4
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
.else
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
.endif
.endif
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
PLIST_SUB+= APACHE="@comment "
.endif
.if defined(WITH_DBA)
CONFIGURE_ARGS+=--enable-dba
.if ${PHP_SAPI} == "cli"
CONFIGURE_ARGS+=--disable-cgi
SAPI_FILE= "@comment "
.endif
.if defined(WITH_DBASE)
CONFIGURE_ARGS+=--enable-dbase
.endif
.if defined(WITH_DBX)
CONFIGURE_ARGS+=--enable-dbx
.endif
.if defined(WITH_DIO)
CONFIGURE_ARGS+=--enable-dio
.endif
.if defined(WITH_DOM)
CONFIGURE_ARGS+=--enable-dom
.endif
.if defined(WITH_EXIF)
CONFIGURE_ARGS+=--enable-exif
.endif
.if defined(WITH_FILEPRO)
CONFIGURE_ARGS+=--enable-filepro
.endif
.if defined(WITH_FTP)
CONFIGURE_ARGS+=--enable-ftp
.endif
.if defined(WITH_GD)
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
CONFIGURE_ARGS+=--with-gd \
--enable-gd-native-ttf \
--with-freetype-dir=${LOCALBASE} \
--with-t1lib=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE}
.if !defined(WITHOUT_X11)
USE_XPM= yes
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
.endif
.if defined(WITH_LZW)
CONFIGURE_ARGS+=--enable-gd-lzw-gif
.endif
.endif
.if defined(WITH_GDBM)
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
.endif
.if defined(WITH_GETTEXT)
USE_GETTEXT= yes
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
.endif
.if defined(WITH_GMP)
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if defined(WITH_ICONV) || defined(WITH_ICONV_DEP)
USE_ICONV= yes
CONFIGURE_ARGS+=--with-iconv-dir=${LOCALBASE}
.endif
.if defined(WITH_ICONV)
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
.endif
.if defined(WITH_INIFILE)
CONFIGURE_ARGS+=--with-inifile
.endif
.if defined(WITH_INTERBASE)
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
.endif
.if defined(WITH_MBSTRING)
CONFIGURE_ARGS+=--enable-mbstring
.endif
.if defined(WITH_MCVE)
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE}
.endif
.if defined(WITH_MCRYPT)
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
USE_LIBLTDL= yes
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
.endif
.if defined(WITH_MHASH)
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
.endif
.if defined(WITH_MING)
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if defined(WITH_MNOGOSEARCH)
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
.endif
.if defined(WITH_MSSQL)
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if defined(WITH_MYSQL)
USE_MYSQL= yes
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
.endif
.if defined(WITH_MYSQLI)
USE_MYSQL= yes
BROKEN_WITH_MYSQL= 323 40
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
.endif
.if defined(WITH_OPENLDAP)
USE_OPENLDAP= yes
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
.endif
.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP)
USE_OPENSSL= yes
LDFLAGS+= -lcrypto -lssl
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
CONFIGURE_ARGS+=--with-openssl-dir=${OPENSSLBASE}
.endif
.if defined(WITH_OPENSSL)
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
.endif
.if defined(WITH_ORACLE)
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
.endif
.if defined(WITH_PCNTL)
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if defined(WITH_PCRE)
CONFIGURE_ARGS+=--with-pcre-regex
.endif
.if defined(WITH_POSIX)
CONFIGURE_ARGS+=--enable-posix
.endif
.if defined(WITH_POSTGRESQL)
POSTGRESQL_PORT?= databases/postgresql7
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if defined(WITH_PSPELL)
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
.endif
.if defined(WITH_READLINE)
CONFIGURE_ARGS+=--with-readline
.endif
.if defined(WITH_RECODE)
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
.endif
.if defined(WITH_SESSION)
CONFIGURE_ARGS+=--enable-session
.endif
.if defined(WITH_SHMOP)
CONFIGURE_ARGS+=--enable-shmop
.endif
.if defined(WITH_SIMPLEXML)
CONFIGURE_ARGS+=--enable-simplexml
.endif
.if defined(WITH_SOAP)
CONFIGURE_ARGS+=--enable-soap
.endif
.if defined(WITH_SOCKETS)
CONFIGURE_ARGS+=--enable-sockets
.endif
.if defined(WITH_SPL)
CONFIGURE_ARGS+=--enable-spl
.endif
.if defined(WITH_SQLITE)
CONFIGURE_ARGS+=--with-sqlite
.endif
.if defined(WITH_SYBASEDB)
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
.endif
.if defined(WITH_SYBASECT)
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
.endif
.if defined(WITH_SYSVMSG)
CONFIGURE_ARGS+=--enable-sysvmsg
.endif
.if defined(WITH_SYSVSEM)
CONFIGURE_ARGS+=--enable-sysvsem
.endif
.if defined(WITH_SYSVSHM)
CONFIGURE_ARGS+=--enable-sysvshm
.endif
.if defined(WITH_TIDY)
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
.endif
.if defined(WITH_TOKENIZER)
CONFIGURE_ARGS+=--enable-tokenizer
.endif
.if defined(WITH_UNIXODBC)
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if defined(WITH_WDDX)
CONFIGURE_ARGS+=--enable-wddx
.endif
.if defined(WITH_XML) || defined(WITH_XML_DEP)
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
CONFIGURE_ARGS+=--enable-libxml --with-libxml-dir=${LOCALBASE}
.endif
.if defined(WITH_XML)
CONFIGURE_ARGS+=--enable-xml
.endif
.if defined(WITH_XMLRPC)
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--with-xmlrpc --with-expat-dir=${LOCALBASE}
.endif
.if defined(WITH_XSL)
LIB_DEPENDS+= xslt.2:${PORTSDIR}/textproc/libxslt
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
.endif
.if defined(WITH_YP)
CONFIGURE_ARGS+=--enable-yp
.endif
.if defined(WITH_ZLIB) || defined(WITH_ZLIB_DEP)
CONFIGURE_ARGS+=--with-zlib-dir=/usr
.endif
.if defined(WITH_ZLIB)
CONFIGURE_ARGS+=--with-zlib
.if ${PHP_SAPI} == "cgi"
SAPI_FILE= bin/php
.endif
.include <bsd.port.pre.mk>
@ -545,7 +117,7 @@ CONFIGURE_ENV= ac_cv_pthreads_lib=${WITH_PTHREAD_LIBS} \
ac_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
.endif
.if !defined(WITHOUT_APACHE)
.if defined(WITH_APACHE)
.if exists(${LOCALBASE}/include/apache2/httpd.h)
WITH_APACHE2= yes
APACHE_MPM!= ${APXS} -q MPM_NAME
@ -578,82 +150,30 @@ PLIST_SUB+= SAPI_FILE=${SAPI_FILE}
CONFIGURE_ARGS+=--disable-ipv6
.endif
.if defined(WITH_IMAP)
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
.if !exists(${LOCALBASE}/lib/libc-client4.so)
.if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
.else
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.if ${PHP_SAPI} == "cgi"
.if defined(WITH_REDIRECT)
CONFIGURE_ARGS+=--enable-force-cgi-redirect
.endif
.else
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
.if !empty(WITH_IMAP_SSL)
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
.else
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.if defined(WITH_DISCARD)
CONFIGURE_ARGS+=--enable-discard-path
.endif
.if defined(WITH_FASTCGI)
CONFIGURE_ARGS+=--enable-fastcgi
.endif
.if defined(WITHOUT_PATHINFO)
CONFIGURE_ARGS+=--disable-path-info-check
.endif
.if defined(WITH_NCURSES)
.if ${OSVERSION} < 400000
NCURSESBASE= ${LOCALBASE}
LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses
.else
NCURSESBASE= /usr
.endif
CONFIGURE_ARGS+=--with-ncurses=${NCURSESBASE}
.endif
.if defined(WITH_SNMP)
.if exists(${LOCALBASE}/lib/libsnmp.so.4) || defined(WITH_SNMP4)
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
.else
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
.endif
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack
.endif
_PORTSDIR!= ${REALPATH} ${PORTSDIR}
PHP_PORT= ${.CURDIR:S|^${_PORTSDIR}||:S|^/||}
pre-patch:
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php
post-patch:
@${REINPLACE_CMD} -e "s|orainst/unix.rgs|ocommon/install/partial.prd|g" \
${WRKSRC}/configure
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
@${TOUCH} ${WRKSRC}/ext/php_config.h
.if ${PHP_SAPI} == "full"
pre-configure:
@${ECHO_CMD} ""
.if defined(WITH_IMAP) && defined(WITH_RECODE)
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_RECODE!"
@${FALSE}
.endif
.if defined(WITH_IMAP) && defined(WITH_YAZ)
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_YAZ!"
@${FALSE}
.endif
.if defined(WITH_MYSQL) && defined(WITH_MYSQLI)
@${ECHO_CMD} "You cannot define WITH_MYSQL *and* WITH_MYSQLI!"
@${FALSE}
.endif
.if defined(WITH_RECODE) && defined(WITH_YAZ)
@${ECHO_CMD} "You cannot define WITH_RECODE *and* WITH_YAZ!"
@${FALSE}
.endif
.if defined(WITH_SYBASEDB) && defined(WITH_SYBASECT)
@${ECHO_CMD} "You cannot define WITH_SYBASEDB *and* WITH_SYBASECT!"
@${FALSE}
.endif
.if defined(WITH_GD) && !defined(WITH_LZW)
@${ECHO_CMD} "To enable LZW-compressed GIF support in GD define the WITH_LZW knob."
@${ECHO_CMD} ""
.endif
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "You are building the Apache Module and the Command Line Interpreter of PHP."
@${ECHO_CMD} ""
@${ECHO_CMD} "Use port:"
@ -668,56 +188,23 @@ post-build:
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_EXT_DIR=${EXT_DIR}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_PORT=\$${PORTSDIR}/${PHP_PORT}" >> ${WRKDIR}/php.conf
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
@${ECHO_CMD} "PHP_PEAR=yes" >> ${WRKDIR}/php.conf
.else
@${ECHO_CMD} "PHP_PEAR=no" >> ${WRKDIR}/php.conf
.endif
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=full" >> ${WRKDIR}/php.conf
.else
.if defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=cli" >> ${WRKDIR}/php.conf
.endif
.if !defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=mod" >> ${WRKDIR}/php.conf
.endif
.if defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
@${ECHO_CMD} "PHP_SAPI=cgi" >> ${WRKDIR}/php.conf
.endif
.endif
.if !defined(WITHOUT_CLI)
@${ECHO_CMD} "You may run the tests from the PHP test framework, typing 'make test' now."
@${ECHO_CMD} "(It is safe to ignore errors about timestamp-related tests,"
@${ECHO_CMD} "since they are due to the different FreeBSD mktime() implementation)."
@${ECHO_CMD} ""
.endif
.if !defined(WITHOUT_CLI)
test: all
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} ${.TARGET})
.endif
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
post-install:
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
.endif
@${INSTALL_DATA} ${WRKSRC}/php.ini-dist ${PREFIX}/etc
@${INSTALL_DATA} ${WRKSRC}/php.ini-recommended ${PREFIX}/etc
@${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
@${TOUCH} ${PREFIX}/include/php/ext/sqlite/libsqlite/src/sqlite.h
.if !defined(WITHOUT_APACHE)
@${ECHO_CMD} "*****************************************************************************"
@${ECHO_CMD} ""
@${ECHO_CMD} "Make sure index.php is part of your DirectoryIndex."
@${ECHO_CMD} ""
@${ECHO_CMD} "You should add the following lines to your Apache configuration file:"
@${ECHO_CMD} ""
@${ECHO_CMD} "AddType application/x-httpd-php .php"
@${ECHO_CMD} "AddType application/x-httpd-php-source .phps"
@${ECHO_CMD} ""
@${ECHO_CMD} "*****************************************************************************"
@${TOUCH} ${PREFIX}/etc/php.ini
@${TOUCH} ${PREFIX}/include/php/ext/php_config.h
.if defined(WITH_APACHE)
@${CAT} ${PKGMESSAGE}
.endif
.else
.if ${PKGNAMESUFFIX} == "-pear"
.include "${MASTERDIR}/Makefile.pear"
.else
.include "${MASTERDIR}/Makefile.ext"
.endif
.endif
.include <bsd.port.post.mk>

493
lang/php53/Makefile.ext Normal file
View file

@ -0,0 +1,493 @@
COMMENT= The ${PHP_MODNAME} shared extension for php
USE_PHP= yes
USE_PHPEXT= yes
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
WRKSRC= ${WRKDIR}/php-${PORTVERSION:S/.r/RC/}/ext/${PHP_MODNAME}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
.if ${PHP_MODNAME} == "bcmath"
CONFIGURE_ARGS+=--enable-bcmath
PHP_HEADER_DIRS=libbcmath libbcmath/src
.endif
.if ${PHP_MODNAME} == "bz2"
.if exists(/usr/bin/bzip2)
BZ2BASE= /usr
.else
BZ2BASE= ${LOCALBASE}
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif
CONFIGURE_ARGS+=--with-bz2=${BZ2BASE}
.endif
.if ${PHP_MODNAME} == "calendar"
CONFIGURE_ARGS+=--enable-calendar
.endif
.if ${PHP_MODNAME} == "ctype"
CONFIGURE_ARGS+=--enable-ctype
.endif
.if ${PHP_MODNAME} == "curl"
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "dba"
CONFIGURE_ARGS+=--enable-dba
OPTIONS= CDB "cdb database support" on \
DB4 "Berkeley DB4 support" off \
GDBM "GDBM database support" off \
INIFILE "INI file support" on \
FLATFILE "flatfile support" on
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.endif
.if ${PHP_MODNAME} == "dbase"
CONFIGURE_ARGS+=--enable-dbase
.endif
.if ${PHP_MODNAME} == "dbx"
CONFIGURE_ARGS+=--enable-dbx
.endif
.if ${PHP_MODNAME} == "dio"
CONFIGURE_ARGS+=--enable-dio
.endif
.if ${PHP_MODNAME} == "dom"
CONFIGURE_ARGS+=--enable-dom \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "exif"
CONFIGURE_ARGS+=--enable-exif
.endif
.if ${PHP_MODNAME} == "filepro"
CONFIGURE_ARGS+=--enable-filepro
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+=--enable-ftp
.endif
.if ${PHP_MODNAME} == "gd"
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
png.5:${PORTSDIR}/graphics/png \
jpeg.9:${PORTSDIR}/graphics/jpeg
. if !defined(WITHOUT_X11)
USE_XPM= yes
. endif
CONFIGURE_ARGS+=--with-gd \
--with-freetype-dir=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE} \
--with-zlib-dir=/usr
. if !defined(WITHOUT_X11)
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
. endif
OPTIONS= T1LIB "Include T1lib support" on \
TRUETYPE "Enable TrueType string function" on \
JIS "Enable JIS-mapped Japanese font support" off \
LZW "Enable LZW-compressed GIF write support" off
PHP_HEADER_DIRS=libgd
.endif
.if ${PHP_MODNAME} == "gettext"
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
USE_GETTEXT= yes
.endif
.if ${PHP_MODNAME} == "gmp"
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "iconv"
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
.endif
.if ${PHP_MODNAME} == "imap"
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "interbase"
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
.endif
.if ${PHP_MODNAME} == "ldap"
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
USE_OPENLDAP= yes
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+=--enable-mbstring
OPTIONS= REGEX "Enable multibyte regex support" on
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls mbstring/oniguruma
.endif
.if ${PHP_MODNAME} == "mcrypt"
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
USE_LIBLTDL= yes
.endif
.if ${PHP_MODNAME} == "mcve"
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "mhash"
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "ming"
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mnogosearch"
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mssql"
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mysql"
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
USE_MYSQL= yes
.endif
.if ${PHP_MODNAME} == "mysqli"
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
USE_MYSQL= yes
BROKEN_WITH_MYSQL= 323 40
.endif
.if ${PHP_MODNAME} == "ncurses"
CONFIGURE_ARGS+=--with-ncurses=/usr
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "openssl"
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "oracle"
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if ${PHP_MODNAME} == "pcre"
CONFIGURE_ARGS+=--with-pcre-regex=yes
PHP_HEADER_DIRS=pcrelib
.endif
.if ${PHP_MODNAME} == "pgsql"
POSTGRESQL_PORT?= databases/postgresql7
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+=--enable-posix
.endif
.if ${PHP_MODNAME} == "pspell"
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "readline"
CONFIGURE_ARGS+=--with-readline=/usr
.endif
.if ${PHP_MODNAME} == "recode"
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "session"
CONFIGURE_ARGS+=--enable-session
.endif
.if ${PHP_MODNAME} == "shmop"
CONFIGURE_ARGS+=--enable-shmop
.endif
.if ${PHP_MODNAME} == "simplexml"
CONFIGURE_ARGS+=--enable-simplexml \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE} \
--enable-ucd-snmp-hack
LDFLAGS+= -lcrypto -lssl
USE_OPENSSL= yes
OPTIONS= SNMP4 "Use old UCD SNMP instead of the new NET SNMP" off
.endif
.if ${PHP_MODNAME} == "soap"
CONFIGURE_ARGS+=--enable-soap \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
USE_PHP= session
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "sockets"
CONFIGURE_ARGS+=--enable-sockets
.endif
.if ${PHP_MODNAME} == "sqlite"
CONFIGURE_ARGS+=--with-sqlite
USE_PHP= session
USE_PHP_BUILD= yes
PHP_HEADER_DIRS=libsqlite/src
OPTIONS= UTF8 "Enable UTF-8 support" off
.endif
.if ${PHP_MODNAME} == "sybase"
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sybase_ct"
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sysvmsg"
CONFIGURE_ARGS+=--enable-sysvmsg
.endif
.if ${PHP_MODNAME} == "sysvsem"
CONFIGURE_ARGS+=--enable-sysvsem
.endif
.if ${PHP_MODNAME} == "sysvshm"
CONFIGURE_ARGS+=--enable-sysvshm
.endif
.if ${PHP_MODNAME} == "tidy"
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
.endif
.if ${PHP_MODNAME} == "tokenizer"
CONFIGURE_ARGS+=--enable-tokenizer
.endif
.if ${PHP_MODNAME} == "wddx"
CONFIGURE_ARGS+=--enable-wddx
USE_PHP= xml session
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "xml"
CONFIGURE_ARGS+=--enable-xml \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "xmlrpc"
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
CONFIGURE_ARGS+=--with-xmlrpc \
--with-expat-dir=${LOCALBASE} \
--with-iconv-dir=${LOCALBASE}
USE_ICONV= yes
PHP_HEADER_DIRS=libxmlrpc
.endif
.if ${PHP_MODNAME} == "xsl"
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
USE_GNOME= libxslt
USE_PHP= dom
.endif
.if ${PHP_MODNAME} == "yp"
CONFIGURE_ARGS+=--enable-yp
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+=--with-zlib=/usr
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "dba"
. if defined(WITHOUT_CDB)
CONFIGURE_ARGS+=--without-cdb
. endif
. if defined(WITH_DB4)
WITH_DB4_VER?= 41
. if ${WITH_DB4_VER} == 42
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
. else
. if ${WITH_DB4_VER} == 4
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
. else
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
. endif
. endif
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
. endif
. if defined(WITH_GDBM)
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
. endif
. if defined(WITHOUT_INIFILE)
CONFIGURE_ARGS+=--without-inifile
. endif
. if defined(WITHOUT_FLATFILE)
CONFIGURE_ARGS+=--without-flatfile
. endif
.endif
.if ${PHP_MODNAME} == "gd"
. if !defined(WITHOUT_T1LIB)
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
. endif
. if !defined(WITHOUT_TRUETYPE)
CONFIGURE_ARGS+=--enable-gd-native-ttf
. endif
. if defined(WITH_JIS)
CONFIGURE_ARGS+=--enable-gd-jis-conv
. endif
. if defined(WITH_LZW)
CONFIGURE_ARGS+=--enable-gd-lzw-gif
. endif
.endif
.if ${PHP_MODNAME} == "imap"
. if !exists(${LOCALBASE}/lib/libc-client4.so)
. if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
. endif
. else
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
. if !empty(WITH_IMAP_SSL)
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
. endif
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
. if defined(WITHOUT_REGEX)
CONFIGURE_ARGS+=--disable-mbregex
. endif
.endif
.if ${PHP_MODNAME} == "openssl"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "snmp"
. if defined(WITH_SNMP4) || exists(${LOCALBASE}/lib/libsnmp.so.4)
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
. else
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
. endif
.endif
.if ${PHP_MODNAME} == "sqlite"
. if defined(WITH_UTF8)
CONFIGURE_ARGS+=--enable-sqlite-utf8
. endif
.endif
.if ${PHP_MODNAME} == "xml"
post-extract:
@${MKDIR} ${WRKSRC}/ext/xml
@${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
.endif
.if ${PHP_MODNAME} == "zlib"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif

29
lang/php53/Makefile.pear Normal file
View file

@ -0,0 +1,29 @@
USE_GNOME= libxml2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-layout=GNU \
--disable-cgi \
--disable-all \
--with-pcre-regex=yes \
--enable-xml \
--with-libxml-dir=${LOCALBASE} \
--with-zlib-dir=/usr \
--with-pear
NO_BUILD= yes
INSTALL_TARGET= install-pear
USE_PHP= pcre xml
WANT_PHP_SCR= yes
.include <bsd.port.pre.mk>
post-patch:
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
post-install:
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
@${SED} "s|\$${LOCALBASE}|${LOCALBASE}|g;s|\$${PREFIX}|${PREFIX}|g" < ${PKGMESSAGE}

View file

@ -1,477 +0,0 @@
--- configure.orig Fri Mar 19 11:01:07 2004
+++ configure Mon Mar 29 09:56:02 2004
@@ -624,6 +624,8 @@
ac_help="$ac_help
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support."
ac_help="$ac_help
+ --enable-gd-lzw-gif GD: Enable LZW-compressed GIF support."
+ac_help="$ac_help
--with-gettext[=DIR] Include GNU gettext support."
ac_help="$ac_help
--with-gmp[=DIR] Include GNU MP support"
@@ -24057,6 +24059,14 @@
THIS_PREFIX=$i
THIS_INCLUDE=$i/db4/db.h
break
+ elif test -f "$i/include/db42/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db42/db.h
+ break
+ elif test -f "$i/include/db41/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db41/db.h
+ break
elif test -f "$i/include/db4/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db4/db.h
@@ -24076,7 +24086,7 @@
fi
done
- for LIB in db-4.2 db-4.1 db-4.0 db-4 db4 db; do
+ for LIB in db-4.2 db-4.1 db-4.0 db-4 db41 db4 db; do
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
old_LDFLAGS=$LDFLAGS
@@ -30047,6 +30057,31 @@
+echo $ac_n "checking whether to enable LZW-compressed GIF support in GD""... $ac_c" 1>&6
+echo "configure:28220: checking whether to enable LZW-compressed GIF support in GD" >&5
+# Check whether --enable-gd-lzw-gif or --disable-gd-lzw-gif was given.
+if test "${enable_gd_lzw_gif+set}" = set; then
+ enableval="$enable_gd_lzw_gif"
+ PHP_GD_LZW_GIF=$enableval
+else
+
+ PHP_GD_LZW_GIF=no
+
+ if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then
+ PHP_GD_LZW_GIF=$PHP_ENABLE_ALL
+ fi
+
+fi
+
+
+ext_output=$PHP_GD_LZW_GIF
+echo "$ac_t""$ext_output" 1>&6
+
+
+
+
+
+
@@ -30199,7 +30234,7 @@
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \
- libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \
+ libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c libgd/gd_biggif_out.c libgd/gd_lzw_out.c libgd/gd_gif_out.c \
libgd/xbm.c"
for ac_func in fabsf floorf
@@ -30274,6 +30309,11 @@
fi
+ if test "$PHP_GD_LZW_GIF" = "yes"; then
+ USE_GD_LZW_GIF=1
+ fi
+
+
if test "$PHP_JPEG_DIR" != "no"; then
for i in $PHP_JPEG_DIR /usr/local /usr; do
@@ -31987,6 +32027,9 @@
cat >> confdefs.h <<\EOF
#define HAVE_GD_BUNDLED 1
+#define HAVE_GD_GIF_CREATE 1
+#define HAVE_GD_GIF_CTX 1
+#define HAVE_GD_GIF_ANIM 1
EOF
cat >> confdefs.h <<\EOF
@@ -32041,6 +32084,14 @@
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
fi
+ if test -n "$USE_GD_LZW_GIF"; then
+ cat >> confdefs.h <<\EOF
+#define LZW_LICENCED 1
+EOF
+
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DLZW_LICENCED"
+ fi
+
else
if test "$PHP_GD" != "no"; then
@@ -36392,6 +36443,137 @@
esac
done
+ echo $ac_n "checking for gdImageGifAnimBegin in -lgd""... $ac_c" 1>&6
+echo "configure:32250: checking for gdImageGifAnimBegin in -lgd" >&5
+ac_lib_var=`echo gd'_'gdImageGifAnimBegin | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lgd $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 32258 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char gdImageGifAnimBegin();
+
+int main() {
+gdImageGifAnimBegin()
+; return 0; }
+EOF
+if { (eval echo configure:32269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+ cat >> confdefs.h <<\EOF
+#define HAVE_GD_GIF_ANIM 1
+EOF
+
+
+else
+ echo "$ac_t""no" 1>&6
+
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+ unset ac_cv_func_gd
+
+
+fi
+
+
+ save_old_LDFLAGS=$LDFLAGS
+ ac_stuff=" -L$GD_LIB $GD_SHARED_LIBADD "
+
+ save_ext_shared=$ext_shared
+ ext_shared=yes
+
+ for ac_i in $ac_stuff; do
+ case $ac_i in
+ -l*)
+ ac_ii=`echo $ac_i|cut -c 3-`
+
+
+ case $ac_ii in
+ c|c_r|pthread*) ;;
+ *)
+ if test "$ext_shared" = "yes"; then
+ LDFLAGS="$LDFLAGS -l$ac_ii"
+ else
+
+
+ case $ac_ii in
+ c|c_r|pthread*) ;;
+ *)
+ LIBS="$LIBS -l$ac_ii"
+ ;;
+ esac
+
+
+ fi
+ ;;
+ esac
+
+
+ ;;
+ -L*)
+ ac_ii=`echo $ac_i|cut -c 3-`
+
+ if test "$ac_ii" != "/usr/lib"; then
+
+ if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
+ ai_p=$ac_ii
+ else
+
+ ep_dir="`echo $ac_ii|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ac_ii\"`"
+ fi
+
+
+ if test "$ext_shared" = "yes"; then
+ LDFLAGS="$ld_runpath_switch$ai_p -L$ai_p $LDFLAGS"
+ else
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+ fi
+
+ fi
+
+ ;;
+ esac
+ done
+
echo $ac_n "checking for gdCacheCreate in -lgd""... $ac_c" 1>&6
echo "configure:36397: checking for gdCacheCreate in -lgd" >&5
ac_lib_var=`echo gd'_'gdCacheCreate | sed 'y%./+-%__p_%'`
@@ -61441,6 +61623,102 @@
if test "$ext_shared" = "yes"; then
+ ORACLE_SHARED_LIBADD="-lwrap $ORACLE_SHARED_LIBADD"
+ if test -n "$ORACLE_DIR/lib"; then
+
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
+
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
+ ai_p=$ORACLE_DIR/lib
+ else
+
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
+ fi
+
+
+ if test "$ext_shared" = "yes"; then
+ ORACLE_SHARED_LIBADD="$ld_runpath_switch$ai_p -L$ai_p $ORACLE_SHARED_LIBADD"
+ else
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+ fi
+
+ fi
+
+ fi
+ else
+
+
+ if test -n "$ORACLE_DIR/lib"; then
+
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
+
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
+ ai_p=$ORACLE_DIR/lib
+ else
+
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
+
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
+ fi
+
+
+
+
+
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
+
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
+ eval "LIBPATH$unique=set"
+
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
+ LDFLAGS="$LDFLAGS -L$ai_p"
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
+
+ fi
+
+
+
+ fi
+
+ fi
+
+
+ case wrap in
+ c|c_r|pthread*) ;;
+ *)
+ LIBS="-lwrap $LIBS"
+ ;;
+ esac
+
+
+
+
+ fi
+
+
+
+
+ if test "$ext_shared" = "yes"; then
ORACLE_SHARED_LIBADD="-lnlsrtl3 $ORACLE_SHARED_LIBADD"
if test -n "$ORACLE_DIR/lib"; then
@@ -82018,29 +82296,6 @@
else
- case cs in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lcs $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case cs in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lcs $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
case ct in
c|c_r|pthread*) ;;
*)
@@ -82064,52 +82319,7 @@
- case comn in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lcomn $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case comn in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lcomn $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
- case intl in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lintl $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case intl in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lintl $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lcs -lct -lcomn -lintl"
+ SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
save_old_LDFLAGS=$LDFLAGS
@@ -82244,38 +82454,6 @@
c|c_r|pthread*) ;;
*)
LIBS="-ltcl $LIBS"
- ;;
- esac
-
-
- fi
- ;;
- esac
-
-
-
-
-else
- echo "$ac_t""no" 1>&6
-
- LDFLAGS=$save_old_LDFLAGS
- ext_shared=$save_ext_shared
- unset ac_cv_func_tcl
-
-
-
- case sybtcl in
- c|c_r|pthread*) ;;
- *)
- if test "$ext_shared" = "yes"; then
- SYBASE_CT_SHARED_LIBADD="-lsybtcl $SYBASE_CT_SHARED_LIBADD"
- else
-
-
- case sybtcl in
- c|c_r|pthread*) ;;
- *)
- LIBS="-lsybtcl $LIBS"
;;
esac

View file

@ -1,50 +0,0 @@
--- ext/gd/gd.c.orig Wed Jun 4 02:22:30 2003
+++ ext/gd/gd.c Sat Jun 28 15:47:56 2003
@@ -206,6 +206,11 @@
#ifdef HAVE_GD_GIF_CREATE
PHP_FE(imagegif, NULL)
#endif
+#ifdef HAVE_GD_GIF_ANIM
+ PHP_FE(imagegifanimbegin, NULL)
+ PHP_FE(imagegifanimadd, NULL)
+ PHP_FE(imagegifanimend, NULL)
+#endif
#ifdef HAVE_GD_JPG
PHP_FE(imagejpeg, NULL)
#endif
@@ -1707,11 +1712,35 @@
#ifdef HAVE_GD_GIF_CTX
_php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx);
#else
+
+#ifdef HAVE_GD_BUNDLED
+#error "I really think there should be ctx version of imagegif in the bundled GD library. Fix the configuration."
+#endif
+
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGif);
#endif
}
/* }}} */
#endif /* HAVE_GD_GIF_CREATE */
+
+#ifdef HAVE_GD_GIF_ANIM
+/* {{{ proto int imagegifanimbegin(int im [, string filename [, int GlobalColormap [, int Loops]]])
+ Begin GIF animation. Image parameter is only used for size and colormap,
+ all animation frames must be added separately. */
+PHP_FUNCTION(imagegifanimbegin)
+{
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMBEGIN, "GIF", gdImageGifAnimBeginCtx);
+}
+/* }}} */
+
+/* {{{ proto int imagegifanimadd(int im [, string filename [, int LocalColormap [, LeftOfs [, int TopOfs [, int Delay [, int Disposal]]]]]])
+ Append GIF image to animation */
+PHP_FUNCTION(imagegifanimadd)
+{
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMADD, "GIF", gdImageGifAnimAddCtx);
+}
+/* }}} */
+#endif /* HAVE_GD_GIF_ANIM */
#ifdef HAVE_GD_PNG
/* {{{ proto int imagepng(int im [, string filename])

View file

@ -1,168 +0,0 @@
--- ext/gd/gd_ctx.c.orig Wed Jan 28 18:10:05 2004
+++ ext/gd/gd_ctx.c Fri Feb 13 12:12:00 2004
@@ -49,23 +49,29 @@
/* {{{ _php_image_output_ctx */
static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)())
{
- zval **imgind, **file, **quality;
+ zval **imgind, **file, **quality, **lo, **to, **del, **dis;
gdImagePtr im;
char *fn = NULL;
FILE *fp = NULL;
int argc = ZEND_NUM_ARGS();
int q = -1, i;
+#ifdef HAVE_GD_GIF_ANIM
+ int LeftOfs = -1, TopOfs = -1, Delay = -1, Disposal = -1;
+#endif /* HAVE_GD_GIF_ANIM */
gdIOCtx *ctx;
/* The third (quality) parameter for Wbmp stands for the threshold when called from image2wbmp().
* The third (quality) parameter for Wbmp and Xbm stands for the foreground color index when called
* from imagey<type>().
+ * The third (quality) parameter for GIF animation stands for colormap inclusion. 1==include
+ * local/global colormap.
+ * The fourth (LeftOfs) parameter for GIF animation begin stands for NETSCAPE2.0 Loop count extension.
*/
if (argc < 2 && image_type == PHP_GDIMG_TYPE_XBM) {
WRONG_PARAM_COUNT;
}
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &imgind, &file, &quality) == FAILURE)
+ if (argc < 1 || argc > 7 || zend_get_parameters_ex(argc, &imgind, &file, &quality, &lo, &to, &del, &dis) == FAILURE)
{
WRONG_PARAM_COUNT;
}
@@ -75,11 +81,29 @@
if (argc > 1) {
convert_to_string_ex(file);
fn = Z_STRVAL_PP(file);
- if (argc == 3) {
- convert_to_long_ex(quality);
- q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
- }
}
+ if (argc >= 3) {
+ convert_to_long_ex(quality);
+ q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
+ }
+#ifdef HAVE_GD_GIF_ANIM
+ if (argc >= 4) {
+ convert_to_long_ex(lo);
+ LeftOfs = Z_LVAL_PP(lo);
+ }
+ if (argc >= 5) {
+ convert_to_long_ex(to);
+ TopOfs = Z_LVAL_PP(to);
+ }
+ if (argc >= 6) {
+ convert_to_long_ex(del);
+ Delay = Z_LVAL_PP(del);
+ }
+ if (argc >= 7) {
+ convert_to_long_ex(dis);
+ Disposal = Z_LVAL_PP(dis);
+ }
+#endif /* HAVE_GD_GIF_ANIM */
if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
@@ -87,7 +111,7 @@
RETURN_FALSE;
}
- fp = VCWD_FOPEN(fn, "wb");
+ fp = VCWD_FOPEN(fn, PHP_GDIMG_TYPE_GIFANIMADD == image_type ? "ab" : "wb");
if (!fp) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
RETURN_FALSE;
@@ -133,6 +157,14 @@
(*func_p)(im, q, ctx);
}
break;
+#ifdef HAVE_GD_GIF_ANIM
+ case PHP_GDIMG_TYPE_GIFANIMBEGIN:
+ (*func_p)(im, ctx, q, LeftOfs);
+ break;
+ case PHP_GDIMG_TYPE_GIFANIMADD:
+ (*func_p)(im, ctx, q, LeftOfs, TopOfs, Delay, Disposal);
+ break;
+#endif /* HAVE_GD_GIF_ANIM */
default:
(*func_p)(im, ctx);
break;
@@ -151,6 +183,75 @@
RETURN_TRUE;
}
+
+#ifdef HAVE_GD_GIF_ANIM
+/* {{{ proto int imagegifanimend([string filename])
+ Write end mark to gif animation. */
+PHP_FUNCTION(imagegifanimend)
+{
+ zval **file;
+ char *fn = NULL;
+ FILE *fp = NULL;
+ int argc = ZEND_NUM_ARGS();
+ gdIOCtx *ctx;
+
+ if (argc < 0 || argc > 1 || zend_get_parameters_ex(argc, &file) == FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+
+ if (argc >= 1) {
+ convert_to_string_ex(file);
+ fn = Z_STRVAL_PP(file);
+ }
+
+ if ((argc == 1) || (argc > 1 && Z_STRLEN_PP(file))) {
+ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
+
+ fp = VCWD_FOPEN(fn, "ab");
+ if (!fp) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
+ RETURN_FALSE;
+ }
+
+ ctx = gdNewFileCtx(fp);
+ } else {
+ ctx = emalloc(sizeof(gdIOCtx));
+ ctx->putC = _php_image_output_putc;
+ ctx->putBuf = _php_image_output_putbuf;
+#if HAVE_LIBGD204
+ ctx->gd_free = _php_image_output_ctxfree;
+#else
+ ctx->free = _php_image_output_ctxfree;
+#endif
+
+#if APACHE && defined(CHARSET_EBCDIC)
+ /* XXX this is unlikely to work any more thies@thieso.net */
+ /* This is a binary file already: avoid EBCDIC->ASCII conversion */
+ ap_bsetflag(php3_rqst->connection->client, B_EBCDIC2ASCII, 0);
+#endif
+ }
+
+ /* This could be coded in here, as it only outputs ';' */
+ gdImageGifAnimEndCtx(ctx);
+
+#if HAVE_LIBGD204
+ ctx->gd_free(ctx);
+#else
+ ctx->free(ctx);
+#endif
+
+ if(fp) {
+ fflush(fp);
+ fclose(fp);
+ }
+
+ RETURN_TRUE;
+}
+/* }}} */
+#endif /* HAVE_GD_GIF_ANIM */
/* }}} */
/*

View file

@ -1,45 +0,0 @@
--- ext/gd/libgd/gd.h.orig Wed Apr 9 03:55:56 2003
+++ ext/gd/libgd/gd.h Sat Jun 28 15:47:56 2003
@@ -446,6 +446,30 @@
gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in);
gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in);
+void gdImageLzw(gdImagePtr im, FILE *out);
+void* gdImageLzwPtr(gdImagePtr im, int *size);
+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out);
+
+void gdImageBigGif(gdImagePtr im, FILE *out);
+void* gdImageBigGifPtr(gdImagePtr im, int *size);
+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out);
+
+void gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops);
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageBigGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageGifAnimEnd(FILE *outFile);
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops);
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageBigGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void gdImageGifAnimEndCtx(gdIOCtx *out);
+void *gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops);
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageBigGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
+void *gdImageGifAnimEndPtr(int *size);
+
/* A custom data sink. For backwards compatibility. Use
gdIOCtx instead. */
/* The sink function must return -1 on error, otherwise the number
@@ -457,6 +481,11 @@
} gdSink, *gdSinkPtr;
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out);
+
+void gdImageGif (gdImagePtr im, FILE *out);
+void* gdImageGifPtr (gdImagePtr im, int *size);
+void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out);
+void gdImageGifToSink (gdImagePtr im, gdSinkPtr out);
void gdImageGd(gdImagePtr im, FILE *out);
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);

File diff suppressed because it is too large Load diff

View file

@ -1,73 +0,0 @@
--- ext/gd/libgd/gd_gif_out.c.orig Sat Jun 28 15:47:56 2003
+++ ext/gd/libgd/gd_gif_out.c Sat Jun 28 16:07:33 2003
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gd.h"
+
+/*
+** Wrapper functions for GIF output.
+*/
+
+void gdImageGifToSink(gdImagePtr im, gdSinkPtr outSink)
+{
+ gdIOCtx *out = gdNewSSCtx(NULL,outSink);
+ gdImageGifCtx(im, out);
+ out->gd_free(out);
+}
+
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwCtx(im, out);
+#else
+ gdImageBigGifCtx(im, out);
+#endif
+}
+
+void gdImageGif(gdImagePtr im, FILE *outFile)
+{
+#ifdef LZW_LICENCED
+ gdImageLzw(im, outFile);
+#else
+ gdImageBigGif(im, outFile);
+#endif
+}
+
+void* gdImageGifPtr(gdImagePtr im, int *size)
+{
+#ifdef LZW_LICENCED
+ return gdImageLzwPtr(im, size);
+#else
+ return gdImageBigGifPtr(im, size);
+#endif
+}
+
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ gdImageBigGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}
+
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ gdImageLzwAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ gdImageBigGifAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}
+
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+#ifdef LZW_LICENCED
+ return gdImageLzwAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#else
+ return gdImageBigGifAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+#endif
+}

View file

@ -1,939 +0,0 @@
--- ext/gd/libgd/gd_lzw_out.c.orig Sat Jun 28 15:47:56 2003
+++ ext/gd/libgd/gd_lzw_out.c Sat Jun 28 16:01:04 2003
@@ -0,0 +1,936 @@
+#ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+#endif
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gd.h"
+
+/* Code drawn from ppmtogif.c, from the pbmplus package
+**
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
+** Lempel-Zim compression based on "compress".
+**
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
+**
+** Copyright (C) 1989 by Jef Poskanzer.
+**
+** Permission to use, copy, modify, and distribute this software and its
+** documentation for any purpose and without fee is hereby granted, provided
+** that the above copyright notice appear in all copies and that both that
+** copyright notice and this permission notice appear in supporting
+** documentation. This software is provided "as is" without express or
+** implied warranty.
+**
+** The Graphics Interchange Format(c) is the Copyright property of
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
+** CompuServe Incorporated.
+*/
+
+/*
+ * a code_int must be able to hold 2**GIFBITS values of type int, and also -1
+ */
+typedef int code_int;
+
+#ifdef SIGNED_COMPARE_SLOW
+typedef unsigned long int count_int;
+typedef unsigned short int count_short;
+#else /*SIGNED_COMPARE_SLOW*/
+typedef long int count_int;
+#endif /*SIGNED_COMPARE_SLOW*/
+
+static int colorstobpp(int colors);
+static void BumpPixel (void);
+static int GIFNextPixel (gdImagePtr im);
+static void GIFEncode (gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
+static void GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
+/*static void Putword (int w, gdIOCtx *fp); */
+static void compress (int init_bits, gdIOCtx *outfile, gdImagePtr im);
+static void output (code_int code);
+static void cl_block (void);
+static void cl_hash (register count_int hsize);
+static void char_init (void);
+static void char_out (int c);
+static void flush_char (void);
+/* Allows for reuse */
+static void init_statics(void);
+
+void gdImageLzwCtx(gdImagePtr im, gdIOCtx *out)
+{
+ int interlace, transparent, BitsPerPixel;
+
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code */
+ init_statics();
+ /* All set, let's do it. */
+ GIFEncode(
+ out, im->sx, im->sy, interlace, 0, transparent, BitsPerPixel,
+ im->red, im->green, im->blue, im);
+}
+
+void gdImageLzw(gdImagePtr im, FILE *outFile)
+{
+ gdIOCtx *out = gdNewFileCtx(outFile);
+ gdImageLzwCtx(im, out);
+ out->gd_free(out);
+}
+
+void* gdImageLzwPtr(gdImagePtr im, int *size)
+{
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ gdImageLzwCtx(im, out);
+ rv = gdDPExtractData(out,size);
+ out->gd_free(out);
+ return rv;
+}
+
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ int interlace, transparent, BitsPerPixel;
+
+ interlace = im->interlace;
+ transparent = im->transparent;
+
+ BitsPerPixel = colorstobpp(im->colorsTotal);
+ /* Clear any old values in statics strewn through the GIF code */
+ init_statics();
+ /* All set, let's do it. */
+ GIFAnimEncode(
+ out, im->sx, im->sy, LeftOfs, TopOfs, interlace, transparent,
+ Delay, Disposal, BitsPerPixel,
+ LocalCM > 0 ? im->red : 0, im->green, im->blue, im);
+}
+
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ gdIOCtx *out = gdNewFileCtx(outFile);
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+ out->gd_free(out);
+}
+
+void* gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
+{
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
+ rv = gdDPExtractData(out,size);
+ out->gd_free(out);
+ return rv;
+}
+
+
+
+static int
+colorstobpp(int colors)
+{
+ int bpp = 0;
+
+ if ( colors <= 2 )
+ bpp = 1;
+ else if ( colors <= 4 )
+ bpp = 2;
+ else if ( colors <= 8 )
+ bpp = 3;
+ else if ( colors <= 16 )
+ bpp = 4;
+ else if ( colors <= 32 )
+ bpp = 5;
+ else if ( colors <= 64 )
+ bpp = 6;
+ else if ( colors <= 128 )
+ bpp = 7;
+ else if ( colors <= 256 )
+ bpp = 8;
+ return bpp;
+ }
+
+/*****************************************************************************
+ *
+ * GIFENCODE.C - GIF Image compression interface
+ *
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background, Transparent,
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
+ *
+ *****************************************************************************/
+
+#define TRUE 1
+#define FALSE 0
+
+static int Width, Height;
+static int curx, cury;
+static long CountDown;
+static int Pass = 0;
+static int Interlace;
+
+/*
+ * Bump the 'curx' and 'cury' to point to the next pixel
+ */
+static void
+BumpPixel(void)
+{
+ /*
+ * Bump the current X position
+ */
+ ++curx;
+
+ /*
+ * If we are at the end of a scan line, set curx back to the beginning
+ * If we are interlaced, bump the cury to the appropriate spot,
+ * otherwise, just increment it.
+ */
+ if( curx == Width ) {
+ curx = 0;
+
+ if( !Interlace )
+ ++cury;
+ else {
+ switch( Pass ) {
+
+ case 0:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 4;
+ }
+ break;
+
+ case 1:
+ cury += 8;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 2;
+ }
+ break;
+
+ case 2:
+ cury += 4;
+ if( cury >= Height ) {
+ ++Pass;
+ cury = 1;
+ }
+ break;
+
+ case 3:
+ cury += 2;
+ break;
+ }
+ }
+ }
+}
+
+/*
+ * Return the next pixel from the image
+ */
+static int
+GIFNextPixel(gdImagePtr im)
+{
+ int r;
+
+ if( CountDown == 0 )
+ return EOF;
+
+ --CountDown;
+
+ r = gdImageGetPixel(im, curx, cury);
+
+ BumpPixel();
+
+ return r;
+}
+
+/* public */
+
+static void
+GIFEncode(gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
+{
+ int B;
+ int RWidth, RHeight;
+ int LeftOfs, TopOfs;
+ int Resolution;
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ RWidth = Width = GWidth;
+ RHeight = Height = GHeight;
+ LeftOfs = TopOfs = 0;
+
+ Resolution = BitsPerPixel;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write the Magic header
+ */
+ gdPutBuf( Transparent < 0 ? "GIF87a" : "GIF89a", 6, fp );
+
+ /*
+ * Write out the screen width and height
+ */
+ Putword( RWidth, fp );
+ Putword( RHeight, fp );
+
+ /*
+ * Indicate that there is a global colour map
+ */
+ B = 0x80; /* Yes, there is a color map */
+
+ /*
+ * OR in the resolution
+ */
+ B |= (Resolution - 1) << 5;
+
+ /*
+ * OR in the Bits per Pixel
+ */
+ B |= (BitsPerPixel - 1);
+
+ /*
+ * Write it out
+ */
+ gdPutC( B, fp );
+
+ /*
+ * Write out the Background colour
+ */
+ gdPutC( Background, fp );
+
+ /*
+ * Byte of 0's (future expansion)
+ */
+ gdPutC( 0, fp );
+
+ /*
+ * Write out the Global Colour Map
+ */
+ for( i=0; i<ColorMapSize; ++i ) {
+ gdPutC( Red[i], fp );
+ gdPutC( Green[i], fp );
+ gdPutC( Blue[i], fp );
+ }
+
+ /*
+ * Write out extension for transparent colour index, if necessary.
+ */
+ if ( Transparent >= 0 ) {
+ gdPutC( '!', fp );
+ gdPutC( 0xf9, fp );
+ gdPutC( 4, fp );
+ gdPutC( 1, fp );
+ gdPutC( 0, fp );
+ gdPutC( 0, fp );
+ gdPutC( (unsigned char) Transparent, fp );
+ gdPutC( 0, fp );
+ }
+
+ /*
+ * Write an Image separator
+ */
+ gdPutC( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putword( LeftOfs, fp );
+ Putword( TopOfs, fp );
+ Putword( Width, fp );
+ Putword( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ */
+ if( Interlace )
+ gdPutC( 0x40, fp );
+ else
+ gdPutC( 0x00, fp );
+
+ /*
+ * Write out the initial code size
+ */
+ gdPutC( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ gdPutC( 0, fp );
+
+ /*
+ * Write the GIF file terminator
+ */
+ gdPutC( ';', fp );
+}
+
+static void
+GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
+{
+ int ColorMapSize;
+ int InitCodeSize;
+ int i;
+
+ if (LeftOfs < 0) LeftOfs = 0;
+ if (TopOfs < 0) TopOfs = 0;
+ if (Delay < 0) Delay = 100;
+ if (Disposal < 0) Disposal = 2;
+
+ Interlace = GInterlace;
+
+ ColorMapSize = 1 << BitsPerPixel;
+
+ Width = IWidth;
+ Height = IHeight;
+
+ /*
+ * Calculate number of bits we are expecting
+ */
+ CountDown = (long)Width * (long)Height;
+
+ /*
+ * Indicate which pass we are on (if interlace)
+ */
+ Pass = 0;
+
+ /*
+ * The initial code size
+ */
+ if( BitsPerPixel <= 1 )
+ InitCodeSize = 2;
+ else
+ InitCodeSize = BitsPerPixel;
+
+ /*
+ * Set up the current x and y position
+ */
+ curx = cury = 0;
+
+ /*
+ * Write out extension for image animation and looping
+ */
+ gdPutC( '!', fp );
+ gdPutC( 0xf9, fp );
+ gdPutC( 4, fp );
+ gdPutC( (Transparent >= 0 ? 1 : 0)
+ | (Disposal << 2), fp );
+ gdPutC( (unsigned char)(Delay & 255), fp );
+ gdPutC( (unsigned char)((Delay >> 8) & 255), fp );
+ gdPutC( (unsigned char) Transparent, fp );
+ gdPutC( 0, fp );
+
+ /*
+ * Write an Image separator
+ */
+ gdPutC( ',', fp );
+
+ /*
+ * Write the Image header
+ */
+
+ Putword( LeftOfs, fp );
+ Putword( TopOfs, fp );
+ Putword( Width, fp );
+ Putword( Height, fp );
+
+ /*
+ * Write out whether or not the image is interlaced
+ * and if it includes local colour map.
+ */
+ gdPutC( (Interlace ? 0x40 : 0)
+ | (Red ? 0x80 : 0)
+ | (Red ? BitsPerPixel - 1 : 0), fp );
+
+ /*
+ * Write out the Local Colour Map
+ */
+ if (Red)
+ for( i=0; i<ColorMapSize; ++i ) {
+ gdPutC( Red[i], fp );
+ gdPutC( Green[i], fp );
+ gdPutC( Blue[i], fp );
+ }
+
+ /*
+ * Write out the initial code size
+ */
+ gdPutC( InitCodeSize, fp );
+
+ /*
+ * Go and actually compress the data
+ */
+ compress( InitCodeSize+1, fp, im );
+
+ /*
+ * Write out a Zero-length packet (to end the series)
+ */
+ gdPutC( 0, fp );
+}
+
+/* */
+/* * Write out a word to the GIF file */
+/* */
+/*static void */
+/*Putword(int w, FILE *fp) */
+/*{ */
+/* fputc( w & 0xff, fp ); */
+/* fputc( (w / 256) & 0xff, fp ); */
+/*} */
+
+
+/***************************************************************************
+ *
+ * GIFCOMPR.C - GIF Image compression routines
+ *
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
+ *
+ ***************************************************************************/
+
+/*
+ * General DEFINEs
+ */
+
+#define GIFBITS 12
+
+#define HSIZE 5003 /* 80% occupancy */
+
+#ifdef NO_UCHAR
+ typedef char char_type;
+#else /*NO_UCHAR*/
+ typedef unsigned char char_type;
+#endif /*NO_UCHAR*/
+
+/*
+ *
+ * GIF Image compression - modified 'compress'
+ *
+ * Based on: compress.c - File compression ala IEEE Computer, June 1984.
+ *
+ * By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
+ * Jim McKie (decvax!mcvax!jim)
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
+ * James A. Woods (decvax!ihnp4!ames!jaw)
+ * Joe Orost (decvax!vax135!petsd!joe)
+ *
+ */
+#include <ctype.h>
+
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
+
+static int n_bits; /* number of bits/code */
+static int maxbits = GIFBITS; /* user settable max # bits/code */
+static code_int maxcode; /* maximum code, given n_bits */
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER generate this code */
+#ifdef COMPATIBLE /* But wrong! */
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
+#else /*COMPATIBLE*/
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
+#endif /*COMPATIBLE*/
+
+static count_int htab [HSIZE];
+static unsigned short codetab [HSIZE];
+#define HashTabOf(i) htab[i]
+#define CodeTabOf(i) codetab[i]
+
+static code_int hsize = HSIZE; /* for dynamic table sizing */
+
+/*
+ * To save much memory, we overlay the table used by compress() with those
+ * used by decompress(). The tab_prefix table is the same size and type
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters. We
+ * get this from the beginning of htab. The output stack uses the rest
+ * of htab, and contains characters. There is plenty of room for any
+ * possible stack (stack used to be 8000 characters).
+ */
+
+#define tab_prefixof(i) CodeTabOf(i)
+#define tab_suffixof(i) ((char_type*)(htab))[i]
+#define de_stack ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
+
+static code_int free_ent = 0; /* first unused entry */
+
+/*
+ * block compression parameters -- after all codes are used up,
+ * and compression rate changes, start over.
+ */
+static int clear_flg = 0;
+
+static int offset;
+static long int in_count = 1; /* length of input */
+static long int out_count = 0; /* # of codes output (for debugging) */
+
+/*
+ * compress stdin to stdout
+ *
+ * Algorithm: use open addressing double hashing (no chaining) on the
+ * prefix code / next character combination. We do a variant of Knuth's
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
+ * secondary probe. Here, the modular division first probe is gives way
+ * to a faster exclusive-or manipulation. Also do block compression with
+ * an adaptive reset, whereby the code table is cleared when the compression
+ * ratio decreases, but after the table fills. The variable-length output
+ * codes are re-sized at this point, and a special CLEAR code is generated
+ * for the decompressor. Late addition: construct the table according to
+ * file size for noticeable speed improvement on small files. Please direct
+ * questions about this implementation to ames!jaw.
+ */
+
+static int g_init_bits;
+static gdIOCtx* g_outfile;
+
+static int ClearCode;
+static int EOFCode;
+
+static void
+compress(int init_bits, gdIOCtx *outfile, gdImagePtr im)
+{
+ register long fcode;
+ register code_int i /* = 0 */;
+ register int c;
+ register code_int ent;
+ register code_int disp;
+ register code_int hsize_reg;
+ register int hshift;
+
+ /*
+ * Set up the globals: g_init_bits - initial number of bits
+ * g_outfile - pointer to output file
+ */
+ g_init_bits = init_bits;
+ g_outfile = outfile;
+
+ /*
+ * Set up the necessary values
+ */
+ offset = 0;
+ out_count = 0;
+ clear_flg = 0;
+ in_count = 1;
+ maxcode = MAXCODE(n_bits = g_init_bits);
+
+ ClearCode = (1 << (init_bits - 1));
+ EOFCode = ClearCode + 1;
+ free_ent = ClearCode + 2;
+
+ char_init();
+
+ ent = GIFNextPixel( im );
+
+ hshift = 0;
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
+ ++hshift;
+ hshift = 8 - hshift; /* set hash code range bound */
+
+ hsize_reg = hsize;
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
+
+ output( (code_int)ClearCode );
+
+#ifdef SIGNED_COMPARE_SLOW
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
+#else /*SIGNED_COMPARE_SLOW*/
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+
+ ++in_count;
+
+ fcode = (long) (((long) c << maxbits) + ent);
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
+ goto nomatch;
+ disp = hsize_reg - i; /* secondary hash (after G. Knott) */
+ if ( i == 0 )
+ disp = 1;
+probe:
+ if ( (i -= disp) < 0 )
+ i += hsize_reg;
+
+ if ( HashTabOf (i) == fcode ) {
+ ent = CodeTabOf (i);
+ continue;
+ }
+ if ( (long)HashTabOf (i) > 0 )
+ goto probe;
+nomatch:
+ output ( (code_int) ent );
+ ++out_count;
+ ent = c;
+#ifdef SIGNED_COMPARE_SLOW
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
+#else /*SIGNED_COMPARE_SLOW*/
+ if ( free_ent < maxmaxcode ) { /* } */
+#endif /*SIGNED_COMPARE_SLOW*/
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
+ HashTabOf (i) = fcode;
+ } else
+ cl_block();
+ }
+ /*
+ * Put out the final code.
+ */
+ output( (code_int)ent );
+ ++out_count;
+ output( (code_int) EOFCode );
+}
+
+/*****************************************************************
+ * TAG( output )
+ *
+ * Output the given code.
+ * Inputs:
+ * code: A n_bits-bit integer. If == -1, then EOF. This assumes
+ * that n_bits =< (long)wordsize - 1.
+ * Outputs:
+ * Outputs code to the file.
+ * Assumptions:
+ * Chars are 8 bits long.
+ * Algorithm:
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
+ * fit in it exactly). Use the VAX insv instruction to insert each
+ * code in turn. When the buffer fills up empty it and start over.
+ */
+
+static unsigned long cur_accum = 0;
+static int cur_bits = 0;
+
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
+ 0x001F, 0x003F, 0x007F, 0x00FF,
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
+
+static void
+output(code_int code)
+{
+ cur_accum &= masks[ cur_bits ];
+
+ if( cur_bits > 0 )
+ cur_accum |= ((long)code << cur_bits);
+ else
+ cur_accum = code;
+
+ cur_bits += n_bits;
+
+ while( cur_bits >= 8 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ /*
+ * If the next entry is going to be too big for the code size,
+ * then increase it, if possible.
+ */
+ if ( free_ent > maxcode || clear_flg ) {
+
+ if( clear_flg ) {
+
+ maxcode = MAXCODE (n_bits = g_init_bits);
+ clear_flg = 0;
+
+ } else {
+
+ ++n_bits;
+ if ( n_bits == maxbits )
+ maxcode = maxmaxcode;
+ else
+ maxcode = MAXCODE(n_bits);
+ }
+ }
+
+ if( code == EOFCode ) {
+ /*
+ * At EOF, write the rest of the buffer.
+ */
+ while( cur_bits > 0 ) {
+ char_out( (unsigned int)(cur_accum & 0xff) );
+ cur_accum >>= 8;
+ cur_bits -= 8;
+ }
+
+ flush_char();
+
+/* fflush( g_outfile ); */
+/* */
+/* if( ferror( g_outfile ) ) */
+/* return; */
+ }
+}
+
+/*
+ * Clear out the hash table
+ */
+static void
+cl_block (void) /* table clear for block compress */
+{
+
+ cl_hash ( (count_int) hsize );
+ free_ent = ClearCode + 2;
+ clear_flg = 1;
+
+ output( (code_int)ClearCode );
+}
+
+static void
+cl_hash(register count_int hsize) /* reset code table */
+
+{
+
+ register count_int *htab_p = htab+hsize;
+
+ register long i;
+ register long m1 = -1;
+
+ i = hsize - 16;
+ do { /* might use Sys V memset(3) here */
+ *(htab_p-16) = m1;
+ *(htab_p-15) = m1;
+ *(htab_p-14) = m1;
+ *(htab_p-13) = m1;
+ *(htab_p-12) = m1;
+ *(htab_p-11) = m1;
+ *(htab_p-10) = m1;
+ *(htab_p-9) = m1;
+ *(htab_p-8) = m1;
+ *(htab_p-7) = m1;
+ *(htab_p-6) = m1;
+ *(htab_p-5) = m1;
+ *(htab_p-4) = m1;
+ *(htab_p-3) = m1;
+ *(htab_p-2) = m1;
+ *(htab_p-1) = m1;
+ htab_p -= 16;
+ } while ((i -= 16) >= 0);
+
+ for ( i += 16; i > 0; --i )
+ *--htab_p = m1;
+}
+
+/******************************************************************************
+ *
+ * GIF Specific routines
+ *
+ ******************************************************************************/
+
+/*
+ * Number of characters so far in this 'packet'
+ */
+static int a_count;
+
+/*
+ * Set up the 'byte output' routine
+ */
+static void
+char_init(void)
+{
+ a_count = 0;
+}
+
+/*
+ * Define the storage for the packet accumulator
+ */
+static char accum[ 256 ];
+
+/*
+ * Add a character to the end of the current packet, and if it is 254
+ * characters, flush the packet to disk.
+ */
+static void
+char_out(int c)
+{
+ accum[ a_count++ ] = c;
+ if( a_count >= 254 )
+ flush_char();
+}
+
+/*
+ * Flush the packet to disk, and reset the accumulator
+ */
+static void
+flush_char(void)
+{
+ if( a_count > 0 ) {
+ gdPutC( a_count, g_outfile );
+ gdPutBuf( accum, a_count, g_outfile );
+ a_count = 0;
+ }
+}
+
+static void init_statics(void) {
+ /* Some of these are properly initialized later. What I'm doing
+ here is making sure code that depends on C's initialization
+ of statics doesn't break when the code gets called more
+ than once. */
+ Width = 0;
+ Height = 0;
+ curx = 0;
+ cury = 0;
+ CountDown = 0;
+ Pass = 0;
+ Interlace = 0;
+ a_count = 0;
+ cur_accum = 0;
+ cur_bits = 0;
+ g_init_bits = 0;
+ g_outfile = 0;
+ ClearCode = 0;
+ EOFCode = 0;
+ free_ent = 0;
+ clear_flg = 0;
+ offset = 0;
+ in_count = 1;
+ out_count = 0;
+ hsize = HSIZE;
+ n_bits = 0;
+ maxbits = GIFBITS;
+ maxcode = 0;
+ maxmaxcode = (code_int)1 << GIFBITS;
+}
+
+
+/* +-------------------------------------------------------------------+ */
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */
+/* | Permission to use, copy, modify, and distribute this software | */
+/* | and its documentation for any purpose and without fee is hereby | */
+/* | granted, provided that the above copyright notice appear in all | */
+/* | copies and that both that copyright notice and this permission | */
+/* | notice appear in supporting documentation. This software is | */
+/* | provided "as is" without express or implied warranty. | */
+/* +-------------------------------------------------------------------+ */

View file

@ -1,21 +0,0 @@
--- ext/gd/php_gd.h.orig Mon Mar 31 10:49:30 2003
+++ ext/gd/php_gd.h Sat Jun 28 15:47:56 2003
@@ -40,6 +40,8 @@
#define PHP_GDIMG_TYPE_GD 8
#define PHP_GDIMG_TYPE_GD2 9
#define PHP_GDIMG_TYPE_GD2PART 10
+#define PHP_GDIMG_TYPE_GIFANIMBEGIN 11
+#define PHP_GDIMG_TYPE_GIFANIMADD 12
#ifdef PHP_WIN32
#define PHP_GD_API __declspec(dllexport)
@@ -137,6 +139,9 @@
PHP_FUNCTION(imagefontheight);
PHP_FUNCTION(imagegif );
+PHP_FUNCTION(imagegifanimbegin);
+PHP_FUNCTION(imagegifanimadd);
+PHP_FUNCTION(imagegifanimend);
PHP_FUNCTION(imagejpeg );
PHP_FUNCTION(imagepng);
PHP_FUNCTION(imagewbmp);

View file

@ -1,12 +1,12 @@
--- main/php_config.h.in.orig Thu Jun 19 00:06:40 2003
+++ main/php_config.h.in Sat Jun 28 15:47:56 2003
@@ -1523,6 +1523,9 @@
#undef HAVE_GD_GIF_CREATE
--- main/php_config.h.in.orig Mon Jul 12 16:30:37 2004
+++ main/php_config.h.in Mon Jul 12 16:31:38 2004
@@ -2362,6 +2362,9 @@
/* */
+#undef HAVE_GD_GIF_ANIM
#undef SOLARIS_YP
+/* Include external shared modules configurations */
+#include "ext/php_config.h"
+
+/* */
#undef HAVE_GD_WBMP
/* Whether sprintf is broken */
#undef ZEND_BROKEN_SPRINTF
/* */

View file

@ -1,18 +1,20 @@
--- pear/scripts/pearcmd.php.orig Fri May 16 17:31:37 2003
+++ pear/scripts/pearcmd.php Fri May 16 17:36:10 2003
--- pear/scripts/pearcmd.php.orig Sun Jun 6 17:52:41 2004
+++ pear/scripts/pearcmd.php Mon Jul 12 16:22:50 2004
@@ -1,3 +1,4 @@
+#!%%PREFIX%%/bin/php -n -dsafe_mode=0 -doutput_buffering=1
+#!%%PREFIX%%/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1
<?php
//
// +----------------------------------------------------------------------+
@@ -24,9 +25,7 @@
@@ -24,9 +25,9 @@
/**
* @nodep Gtk
*/
-if ('@include_path@' != '@'.'include_path'.'@') {
- ini_set('include_path', '@include_path@');
-}
+dl('pcre.so');
+dl('xml.so');
+ini_set('include_path', '%%PREFIX%%/share/pear:%%PREFIX%%/share/pear/bootstrap');
ini_set('allow_url_fopen', true);
set_time_limit(0);
ob_implicit_flush(true);
if (!ini_get('safe_mode')) {
set_time_limit(0);

View file

@ -1,19 +1,15 @@
--- scripts/Makefile.frag.orig Mon Jun 28 10:41:39 2004
+++ scripts/Makefile.frag Mon Jun 28 10:47:24 2004
@@ -29,12 +29,15 @@
main/ \
main/streams/ \
--- scripts/Makefile.frag.orig Mon Jul 12 19:30:23 2004
+++ scripts/Makefile.frag Mon Jul 12 19:30:48 2004
@@ -31,11 +31,7 @@
regex/ \
+ ext/gd/ \
+ ext/gd/libgd/ \
ext/libxml/ \
ext/standard/ \
ext/session/ \
ext/xml/ \
- ext/session/ \
- ext/xml/ \
- ext/xml/expat/ \
ext/mbstring/ \
+ ext/mbstring/libmbfl/ \
+ ext/mbstring/libmbfl/mbfl/ \
ext/sqlite/libsqlite/src/sqlite.h
- ext/mbstring/ \
- ext/sqlite/libsqlite/src/sqlite.h
+ ext/spl/
install-headers:
-@for i in $(HEADER_DIRS); do \

View file

@ -1,19 +0,0 @@
*****************************************************************************
You have installed the php5 package.
Have a look at the php5 port if you need additional extensions other than
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
and XML.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php5.tar
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
*****************************************************************************

View file

@ -0,0 +1,10 @@
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
***************************************************************

View file

@ -0,0 +1,8 @@
*********************************************************
To use PEAR you have to add the correct include path into
your ${LOCALBASE}/etc/php.ini configuration file, like:
include_path = ".:${PREFIX}/share/pear"
*********************************************************

View file

@ -1,9 +1,10 @@
%%CLI%%%%PEAR%%bin/pear
%%CLI%%bin/php
bin/php-config
bin/phpextdist
bin/phpize
etc/php.conf
@exec touch %D/etc/php.ini
@unexec [ -s %D/etc/php.ini ] || rm %D/etc/php.ini
etc/php.ini-dist
etc/php.ini-recommended
include/php/TSRM/TSRM.h
@ -67,45 +68,14 @@ include/php/Zend/zend_ts_hash.h
include/php/Zend/zend_types.h
include/php/Zend/zend_variables.h
include/php/acconfig.h
include/php/ext/gd/gdcache.h
include/php/ext/gd/gdttf.h
include/php/ext/gd/libgd/gd.h
include/php/ext/gd/libgd/gd_io.h
include/php/ext/gd/libgd/gdcache.h
include/php/ext/gd/libgd/gdfontg.h
include/php/ext/gd/libgd/gdfontl.h
include/php/ext/gd/libgd/gdfontmb.h
include/php/ext/gd/libgd/gdfonts.h
include/php/ext/gd/libgd/gdfontt.h
include/php/ext/gd/libgd/gdhelpers.h
include/php/ext/gd/libgd/jisx0208.h
include/php/ext/gd/libgd/wbmp.h
include/php/ext/gd/php_gd.h
include/php/ext/libxml/php_libxml.h
include/php/ext/mbstring/mb_gpc.h
include/php/ext/mbstring/mbstring.h
include/php/ext/mbstring/php_mbregex.h
include/php/ext/mbstring/php_unicode.h
include/php/ext/mbstring/unicode_data.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_consts.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_language.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
include/php/ext/mbstring/libmbfl/mbfl/mbfl_string.h
include/php/ext/session/mod_files.h
include/php/ext/session/mod_mm.h
include/php/ext/session/mod_user.h
include/php/ext/session/php_session.h
include/php/ext/sqlite/libsqlite/src/sqlite.h
include/php/ext/spl/php_spl.h
include/php/ext/spl/spl_array.h
include/php/ext/spl/spl_directory.h
include/php/ext/spl/spl_engine.h
include/php/ext/spl/spl_functions.h
include/php/ext/spl/spl_iterators.h
include/php/ext/spl/spl_sxe.h
include/php/ext/standard/base64.h
include/php/ext/standard/basic_functions.h
include/php/ext/standard/crc32.h
@ -168,8 +138,8 @@ include/php/ext/standard/uniqid.h
include/php/ext/standard/url.h
include/php/ext/standard/url_scanner.h
include/php/ext/standard/url_scanner_ex.h
include/php/ext/xml/expat_compat.h
include/php/ext/xml/php_xml.h
@exec touch %D/include/php/ext/php_config.h
@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
include/php/main/SAPI.h
include/php/main/build-defs.h
include/php/main/config.nw.h
@ -226,65 +196,15 @@ lib/php/build/shtool
%%SAPI_FILE%%
%%APACHE%%@exec %D/sbin/apxs -e -a -n php5 %f
%%APACHE%%@unexec %D/sbin/apxs -e -A -n php5 %f
%%CLI%%%%PEAR%%share/pear/bootstrap/Archive/Tar.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR.php
%%CLI%%%%PEAR%%share/pear/bootstrap/System.php
%%CLI%%%%PEAR%%share/pear/bootstrap/Console/Getopt.php
%%CLI%%%%PEAR%%share/pear/bootstrap/OS/Guess.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Autoloader.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Builder.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Auth.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Build.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Common.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Config.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Install.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Mirror.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Package.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Registry.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Remote.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Common.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Config.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Dependency.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/DependencyDB.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Downloader.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/ErrorStack.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Exception.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Frontend/CLI.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Installer.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Packager.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Registry.php
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Remote.php
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC.php
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC/Server.php
@dirrm include/php/TSRM
@dirrm include/php/Zend
@dirrm include/php/ext/gd/libgd
@dirrm include/php/ext/gd
@dirrm include/php/ext/libxml
@dirrm include/php/ext/mbstring/libmbfl/mbfl
@dirrm include/php/ext/mbstring/libmbfl
@dirrm include/php/ext/mbstring
@dirrm include/php/ext/session
@dirrm include/php/ext/sqlite/libsqlite/src
@dirrm include/php/ext/sqlite/libsqlite
@dirrm include/php/ext/sqlite
@dirrm include/php/ext/spl
@dirrm include/php/ext/standard
@dirrm include/php/ext/xml
@dirrm include/php/ext
@unexec rmdir %D/include/php/ext 2> /dev/null || true
@dirrm include/php/main/streams
@dirrm include/php/main
@dirrm include/php/regex
@dirrm include/php/
@unexec rmdir %D/include/php 2> /dev/null || true
@dirrm lib/php/build
@unexec rmdir %D/lib/php 2> /dev/null || true
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Archive
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Console
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/OS
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Command
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Frontend
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML/RPC
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap
%%CLI%%%%PEAR%%@unexec rmdir %D/share/pear 2> /dev/null || true

42
lang/php53/pkg-plist.pear Normal file
View file

@ -0,0 +1,42 @@
bin/pear
share/pear/bootstrap/Archive/Tar.php
share/pear/bootstrap/PEAR.php
share/pear/bootstrap/System.php
share/pear/bootstrap/Console/Getopt.php
share/pear/bootstrap/OS/Guess.php
share/pear/bootstrap/PEAR/Autoloader.php
share/pear/bootstrap/PEAR/Builder.php
share/pear/bootstrap/PEAR/Command.php
share/pear/bootstrap/PEAR/Command/Auth.php
share/pear/bootstrap/PEAR/Command/Build.php
share/pear/bootstrap/PEAR/Command/Common.php
share/pear/bootstrap/PEAR/Command/Config.php
share/pear/bootstrap/PEAR/Command/Install.php
share/pear/bootstrap/PEAR/Command/Mirror.php
share/pear/bootstrap/PEAR/Command/Package.php
share/pear/bootstrap/PEAR/Command/Registry.php
share/pear/bootstrap/PEAR/Command/Remote.php
share/pear/bootstrap/PEAR/Common.php
share/pear/bootstrap/PEAR/Config.php
share/pear/bootstrap/PEAR/Dependency.php
share/pear/bootstrap/PEAR/DependencyDB.php
share/pear/bootstrap/PEAR/Downloader.php
share/pear/bootstrap/PEAR/ErrorStack.php
share/pear/bootstrap/PEAR/Exception.php
share/pear/bootstrap/PEAR/Frontend/CLI.php
share/pear/bootstrap/PEAR/Installer.php
share/pear/bootstrap/PEAR/Packager.php
share/pear/bootstrap/PEAR/Registry.php
share/pear/bootstrap/PEAR/Remote.php
share/pear/bootstrap/XML/RPC.php
share/pear/bootstrap/XML/RPC/Server.php
@dirrm share/pear/bootstrap/Archive
@dirrm share/pear/bootstrap/Console
@dirrm share/pear/bootstrap/OS
@dirrm share/pear/bootstrap/PEAR/Command
@dirrm share/pear/bootstrap/PEAR/Frontend
@dirrm share/pear/bootstrap/PEAR
@dirrm share/pear/bootstrap/XML/RPC
@dirrm share/pear/bootstrap/XML
@dirrm share/pear/bootstrap
@unexec rmdir %D/share/pear 2> /dev/null || true

View file

@ -1,109 +0,0 @@
#!/bin/sh
# $FreeBSD$
if [ -f ${WRKDIR}/Makefile.inc ]; then
exit
fi
tempfile=`/usr/bin/mktemp -t checklist`
if [ "${BATCH}" ]; then
echo "${SEL_OPTIONS}" > $tempfile
else
if [ -f "${OPTION_FILE}" ]; then
for i in `${CAT} ${OPTION_FILE}`
do
export $i
done
fi
/usr/bin/dialog --title "configuration options" --clear --checklist "\n\
Please select desired options:" -1 -1 16 \
BCMATH "bc style precision math functions" ${WITH_BCMATH:-OFF} \
BZIP2 "bzip2 library support" ${WITH_BZIP2:-OFF} \
CALENDAR "calendar conversion support" ${WITH_CALENDAR:-OFF} \
CDB "cdb database support (dba)" ${WITH_CDB:-OFF} \
CRACK "crack support" ${WITH_CRACK:-OFF} \
CTYPE "ctype functions" ${WITH_CTYPE:-OFF} \
CURL "CURL support" ${WITH_CURL:-OFF} \
DB4 "Berkeley DB4 support" ${WITH_DB4:-OFF} \
DBASE "dBase library support" ${WITH_DBASE:-OFF} \
DBX "dbx support" ${WITH_DBX:-OFF} \
DIO "Direct I/O support" ${WITH_DIO:-OFF} \
DOM "DOM support" ${WITH_DOM:-OFF} \
EXIF "EXIF support" ${WITH_EXIF:-OFF} \
FILEPRO "filePro support" ${WITH_FILEPRO:-OFF} \
FTP "FTP support" ${WITH_FTP:-OFF} \
GD "GD library support" ${WITH_GD:-OFF} \
GDBM "GDBM database support (dba)" ${WITH_GDBM:-OFF} \
GETTEXT "gettext library support" ${WITH_GETTEXT:-OFF} \
GMP "GNU MP support" ${WITH_GMP:-OFF} \
ICONV "iconv support" ${WITH_ICONV:-ON} \
IMAP "IMAP support" ${WITH_IMAP:-OFF} \
INIFILE "INI file support (dba)" ${WITH_INIFILE:-OFF} \
INTERBASE "Interbase 6 database support (Firebird)" ${WITH_INTERBASE:-OFF} \
MBSTRING "multibyte string support" ${WITH_MBSTRING:-OFF} \
MCVE "MCVE support (implies OPENSSL)" ${WITH_MCVE:-OFF} \
MCRYPT "Encryption support" ${WITH_MCRYPT:-OFF} \
MHASH "Crypto-hashing support" ${WITH_MHASH:-OFF} \
MING "ming shockwave flash support" ${WITH_MING:-OFF} \
MNOGOSEARCH "mnoGoSearch support" ${WITH_MNOGOSEARCH:-OFF} \
MSSQL "MS-SQL database support" ${WITH_MSSQL:-OFF} \
MYSQL "MySQL database support" ${WITH_MYSQL:-OFF} \
MYSQLI "MySQLi database support" ${WITH_MYSQLI:-OFF} \
NCURSES "ncurses support (CLI only)" ${WITH_NCURSES:-OFF} \
OPENLDAP "OpenLDAP support" ${WITH_OPENLDAP:-OFF} \
OPENSSL "OpenSSL support" ${WITH_OPENSSL:-OFF} \
ORACLE "Oracle support" ${WITH_ORACLE:-OFF} \
PCNTL "pcntl support (CLI only)" ${WITH_PCNTL:-OFF} \
PCRE "Perl Compatible Regular Expression support" ${WITH_PCRE:-OFF} \
POSIX "POSIX-like functions" ${WITH_POSIX:-OFF} \
POSTGRESQL "PostgreSQL database support" ${WITH_POSTGRESQL:-OFF} \
PSPELL "pspell support" ${WITH_PSPELL:-OFF} \
READLINE "readline support (CLI only)" ${WITH_READLINE:-OFF} \
RECODE "recode support" ${WITH_RECODE:-OFF} \
SESSION "session support" ${WITH_SESSION:-OFF} \
SHMOP "shmop support" ${WITH_SHMOP:-OFF} \
SIMPLEXML "simplexml support" ${WITH_SIMPLEXML:-OFF} \
SNMP "SNMP support (implies OPENSSL)" ${WITH_SNMP:-OFF} \
SOAP "SOAP support" ${WITH_SOAP:-OFF} \
SOCKETS "sockets support" ${WITH_SOCKETS:-OFF} \
SPL "Standard PHP Library support" ${WITH_SPL:-ON} \
SQLITE "sqlite support" ${WITH_SQLITE:-OFF} \
SYBASEDB "Sybase database support (DB-lib)" ${WITH_SYBASEDB:-OFF} \
SYBASECT "Sybase database support (CT-lib)" ${WITH_SYBASECT:-OFF} \
SYSVMSG "System V message support" ${WITH_SYSVMSG:-OFF} \
SYSVSEM "System V semaphore support" ${WITH_SYSVSEM:-OFF} \
SYSVSHM "System V shared memory support" ${WITH_SYSVSHM:-OFF} \
TIDY "TIDY support" ${WITH_TIDY:-OFF} \
TOKENIZER "tokenizer support" ${WITH_TOKENIZER:-OFF} \
UNIXODBC "unixODBC support" ${WITH_UNIXODBC:-OFF} \
WDDX "WDDX support (implies XML)" ${WITH_WDDX:-OFF} \
XML "XML support" ${WITH_XML:-OFF} \
XMLRPC "XMLRPC-EPI support (implies ICONV)" ${WITH_XMLRPC:-OFF} \
XSL "XSL support" ${WITH_XSL:-OFF} \
YP "YP/NIS support" ${WITH_YP:-OFF} \
ZLIB "ZLIB support" ${WITH_ZLIB:-OFF} \
2> $tempfile
fi
retval=$?
if [ -s $tempfile ]; then
set `${CAT} $tempfile | ${SED} 's|"||g'`
fi
rm -f $tempfile
case $retval in
0) if [ -z "$*" ]; then
echo "Nothing selected"
fi
;;
1) echo "Cancel pressed."
exit 1
;;
esac
exec > ${WRKDIR}/Makefile.inc
while [ $1 ]; do
echo "WITH_$1=yes";
shift
done

View file

@ -1,65 +0,0 @@
WITH_BCMATH=OFF
WITH_BZIP2=OFF
WITH_CALENDAR=OFF
WITH_CDB=OFF
WITH_CRACK=OFF
WITH_CTYPE=ON
WITH_CURL=OFF
WITH_DB4=OFF
WITH_DBASE=OFF
WITH_DBX=OFF
WITH_DIO=OFF
WITH_DOM=ON
WITH_EXIF=OFF
WITH_FILEPRO=OFF
WITH_FTP=OFF
WITH_GD=OFF
WITH_GDBM=OFF
WITH_GETTEXT=OFF
WITH_GMP=OFF
WITH_ICONV=ON
WITH_IMAP=OFF
WITH_INIFILE=OFF
WITH_INTERBASE=OFF
WITH_MBSTRING=OFF
WITH_MCVE=OFF
WITH_MCRYPT=OFF
WITH_MHASH=OFF
WITH_MING=OFF
WITH_MNOGOSEARCH=OFF
WITH_MSSQL=OFF
WITH_MYSQL=OFF
WITH_MYSQLI=OFF
WITH_NCURSES=OFF
WITH_OPENLDAP=OFF
WITH_OPENSSL=OFF
WITH_ORACLE=OFF
WITH_PCNTL=OFF
WITH_PCRE=ON
WITH_POSIX=ON
WITH_POSTGRESQL=OFF
WITH_PSPELL=OFF
WITH_READLINE=OFF
WITH_RECODE=OFF
WITH_SESSION=ON
WITH_SHMOP=OFF
WITH_SIMPLEXML=ON
WITH_SNMP=OFF
WITH_SOAP=OFF
WITH_SOCKETS=OFF
WITH_SPL=ON
WITH_SQLITE=ON
WITH_SYBASEDB=OFF
WITH_SYBASECT=OFF
WITH_SYSVMSG=OFF
WITH_SYSVSEM=OFF
WITH_SYSVSHM=OFF
WITH_TIDY=OFF
WITH_TOKENIZER=ON
WITH_UNIXODBC=OFF
WITH_WDDX=OFF
WITH_XML=ON
WITH_XMLRPC=OFF
WITH_XSL=OFF
WITH_YP=OFF
WITH_ZLIB=ON

View file

@ -4,18 +4,16 @@
#
# $FreeBSD$
#
# Instructions on how to enable preferred extensions can be found in the
# Makefile of the master port (lang/php4).
#
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= mod_
MAINTAINER= sysadmin@alexdupre.com
MAINTAINER= ale@FreeBSD.org
COMMENT= PHP Apache Module
PKGMESSAGE= ${.CURDIR}/pkg-message
MASTERDIR= ${.CURDIR}/../../lang/php4
WITHOUT_CLI= yes
CONFLICTS= php4-4* php4-cli-4* php4-cgi-4*
.include "${MASTERDIR}/Makefile"

View file

@ -1,18 +0,0 @@
*****************************************************************************
You have installed the mod_php4 package.
Have a look at the mod_php4 port if you need additional extensions other than
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/mod_php4.tar
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
*****************************************************************************

View file

@ -4,18 +4,16 @@
#
# $FreeBSD$
#
# Instructions on how to enable preferred extensions can be found in the
# Makefile of the master port (lang/php5).
#
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= mod_
MAINTAINER= sysadmin@alexdupre.com
MAINTAINER= ale@FreeBSD.org
COMMENT= PHP Apache Module
PKGMESSAGE= ${.CURDIR}/pkg-message
MASTERDIR= ${.CURDIR}/../../lang/php5
WITHOUT_CLI= yes
CONFLICTS= php5-5* php5-cli-5* php5-cgi-5*
.include "${MASTERDIR}/Makefile"

View file

@ -1,19 +0,0 @@
*****************************************************************************
You have installed the mod_php5 package.
Have a look at the mod_php5 port if you need additional extensions other than
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
and XML.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/mod_php5.tar
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
*****************************************************************************

View file

@ -4,18 +4,15 @@
#
# $FreeBSD$
#
# Instructions on how to enable preferred extensions can be found in the
# Makefile of the master port (lang/php4).
#
CATEGORIES= www
PKGNAMESUFFIX= -cgi
MAINTAINER= sysadmin@alexdupre.com
MAINTAINER= ale@FreeBSD.org
COMMENT= PHP Common Gateway Interface
PKGMESSAGE= ${.CURDIR}/pkg-message
MASTERDIR= ${.CURDIR}/../../lang/php4
WITHOUT_APACHE= yes
WITHOUT_CLI= yes
CONFLICTS= php4-4* php4-cli-4* mod_php4-4*
.include "${MASTERDIR}/Makefile"

View file

@ -1,11 +0,0 @@
*****************************************************************************
You have installed the php4-cgi package.
Have a look at the php4-cgi port if you need additional extensions other than
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/php4-cgi.tar
*****************************************************************************

View file

@ -4,18 +4,15 @@
#
# $FreeBSD$
#
# Instructions on how to enable preferred extensions can be found in the
# Makefile of the master port (lang/php5).
#
CATEGORIES= www
PKGNAMESUFFIX= -cgi
MAINTAINER= sysadmin@alexdupre.com
MAINTAINER= ale@FreeBSD.org
COMMENT= PHP Common Gateway Interface
PKGMESSAGE= ${.CURDIR}/pkg-message
MASTERDIR= ${.CURDIR}/../../lang/php5
WITHOUT_APACHE= yes
WITHOUT_CLI= yes
CONFLICTS= php5-5* php5-cli-5* mod_php5-5*
.include "${MASTERDIR}/Makefile"

View file

@ -1,12 +0,0 @@
*****************************************************************************
You have installed the php5-cgi package.
Have a look at the php5-cgi port if you need additional extensions other than
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
and XML.
You can find it at
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/php5-cgi.tar
*****************************************************************************