Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 13936 Details for
Bug 15650
Updated ebuild for mod_php 4.3.0 w/ Java Extensions support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
PHP eclass with Java support
php.eclass (text/plain), 15.09 KB, created by
Stuart Herbert (RETIRED)
on 2003-06-27 10:29:53 UTC
(
hide
)
Description:
PHP eclass with Java support
Filename:
MIME Type:
Creator:
Stuart Herbert (RETIRED)
Created:
2003-06-27 10:29:53 UTC
Size:
15.09 KB
patch
obsolete
># Copyright 2003 Gentoo Technologies, Inc. ># Distributed under the terms of the GNU General Public License, v2 or later ># Author: Robin H. Johnson <robbat2@gentoo.org> ># $Header: /home/cvsroot/gentoo-x86/eclass/php.eclass,v 1.41 2003/06/10 19:45:57 robbat2 Exp $ > ># This EBUILD is totally masked presently. Use it at your own risk. I know it ># is severely broken, but I needed to get a copy into CVS to pass around and ># repoman was complaining at me too much > ># TODO LIST ># * Finish install cleanup ># * USE flags >#sys-libs/ncurses >#--with-ncurses > >inherit eutils flag-o-matic > >ECLASS=php >INHERITED="$INHERITED $ECLASS" > >EXPORT_FUNCTIONS src_unpack src_compile src_install > >MY_PN=php >MY_P=${MY_PN}-${PV} >S=${WORKDIR}/${MY_P} >[ -z "$HOMEPAGE" ] && HOMEPAGE="http://www.php.net/" >[ -z "$LICENSE" ] && LICENSE="PHP" >[ -z "$PROVIDE" ] && PROVIDE="virtual/php" ># PHP does automatic mirroring from this URI >if [ -z "$SRC_URI" ]; then > SRC_URI="http://www.php.net/distributions/${MY_P}.tar.bz2" > #Remove the DB4 stuff temporarily > #mirror://gentoo/${MY_P}-db4.diff.gz >fi > >IUSE="${IUSE} X cjk crypt curl firebird flash freetds gd gdbm imap informix java jpeg ldap mcal mysql nls oci8 odbc pam pdflib memlimit pic png postgres qt snmp spell ssl tiff truetype" > ># Berkdb is disabled due to DB4 and changes in PHP4.3.2 >#RDEPEND="${RDEPEND} berkdb? ( >=sys-libs/db-4.1.25 )" >#IUSE="${IUSE} berkdb" > ># Everything is in this list is dynamically linked agaist or needed at runtime in some other way >RDEPEND=" > >=sys-libs/cracklib-2.7-r7 > sys-apps/bzip2 > X? ( virtual/x11 ) > crypt? ( >=dev-libs/libmcrypt-2.4 >=app-crypt/mhash-0.8 ) > curl? ( >=net-ftp/curl-7.10.2 ) > firebird? ( >=dev-db/firebird-1.0 ) > flash? ( media-libs/libswf >=media-libs/ming-0.2a ) > freetds? ( >=dev-db/freetds-0.53 ) > gd? ( media-libs/libgd >=media-libs/jpeg-6b >=media-libs/libpng-1.2.5 ) > gdbm? ( >=sys-libs/gdbm-1.8.0 ) > java? ( =virtual/jdk-1.4* dev-java/java-config ) > jpeg? ( >=media-libs/jpeg-6b ) > ldap? ( >=net-nds/openldap-1.2.11 ) > mysql? ( >=dev-db/mysql-3.23.26 ) > nls? ( sys-devel/gettext ) > odbc? ( >=dev-db/unixODBC-1.8.13 ) > pam? ( >=sys-libs/pam-0.75 ) > pdflib? ( >=media-libs/pdflib-4.0.3 >=media-libs/jpeg-6b >=media-libs/libpng-1.2.5 ) > png? ( >=media-libs/libpng-1.2.5 ) > postgres? ( >=dev-db/postgresql-7.1 ) > qt? ( >=x11-libs/qt-2.3.0 ) > snmp? ( || ( >=net-analyzer/net-snmp-5.0.6-r1 net-analyzer/ucd-snmp ) ) > spell? ( app-text/aspell ) > ssl? ( >=dev-libs/openssl-0.9.5 ) > tiff? ( >=media-libs/tiff-3.5.5 ) > truetype? ( ~media-libs/freetype-1.3.1 >=media-libs/t1lib-1.3.1 ) > sys-libs/zlib > virtual/mta" ># These will become explicit soon, and not optional >RDEPEND="${RDEPEND} > xml2? ( dev-libs/libxml2 >=dev-libs/libxslt-1.0.30 ) > >=net-libs/libwww-5.3.2 >=app-text/sablotron-0.97 dev-libs/expat" ># These are extra bits we need only at compile time >DEPEND="${RDEPEND} ${DEPEND} > imap? ( >=net-mail/uw-imap-2001a-r1 ) > mcal? ( dev-libs/libmcal )" >#9libs causes a configure error >DEPEND="${DEPEND} !dev-libs/9libs" > >#Waiting for somebody to want this: >#cyrus? ( net-mail/cyrus-imapd net-mail/cyrus-imap-admin dev-libs/cyrus-imap-dev ) > >#export this here so we can use it >myconf="${myconf}" > >## PHP offers a wide range of Server APIs (SAPIs) >#[ -z "${PHP_SAPI}" ] && die "Your ebuild must specify a PHP SAPI to build with!" >#local php_sapi_supported >#php_sapi_supported=0 >#case ${PHP_SAPI} in >#cgi) php_sapi_supported=1 ; PHP_CGI=1 ;; >#cli) php_sapi_supported=1 ; PHP_CLI=1 ;; >#apxs) php_sapi_supported=1 ;; >#apxs2) php_sapi_supported=1 ;; >#apache) ;; >#aolserver) ;; >#mod_charset) ;; >#caudium) ;; >#isapi) ;; >#nsapi) ;; >#phttpd) ;; >#pi3web) ;; >#roxen) ;; >#servlet) ;; >#thttpd) ;; >#tux) ;; >#esac ># >## be nice to other developers ;-) >#if [ "${php_sapi_supported}" -ne "1" ]; then ># ewarn "Your SAPI choice is NOT offically supported in php.eclass yet." ># ewarn "Please contact php-bugs for any issues." >#fi > ># These are the standard targets that we want to for the install stage since we can't do the full 'make install' ># You may need to add your own items here for SAPIs etc. >PHP_INSTALLTARGETS="${PHP_INSTALLTARGETS} install-modules install-pear install-build install-headers install-programs" >#overall recommended order >#install-cli install-sapi install-modules install-pear install-build install-headers install-programs > >#fixes bug #14067 >replace-flags "-march=k6*" "-march=i586" > >php_check_java_config() { > if [ "`use java`" ] ; then > JDKHOME="`java-config --jdk-home`" > NOJDKERROR="You need to use java-config to set your JVM to a JDK!" > if [ -z "${JDKHOME}" ] || [ ! -d "${JDKHOME}" ]; then > eerror "${NOJDKERROR}" > die "${NOJDKERROR}" > fi > > # stuart@gentoo.org - 2003/05/18 > # Kaffe JVM is not a drop-in replacement for the Sun JDK at this time > > if echo $JDKHOME | grep kaffe > /dev/null 2>&1 ; then > eerror > eerror "PHP will not build using the Kaffe Java Virtual Machine." > eerror "Please change your JVM to either Blackdown or Sun's." > eerror > eerror "To build PHP without Java support, please re-run this emerge" > eerror "and place the line:" > eerror " USE='-java'" > eerror "in front of your emerge command; e.g." > eerror " USE='-java' emerge mod_php" > eerror > eerror "or edit your USE flags in /etc/make.conf" > exit 1 > fi > > fi >} > >php_src_unpack() { > > if [ "$INIFILE_DIR" == "" ]; then > eerror "\$INIFILE_DIR must be set in the ebuild file" > eerror "Please report this fault via http://bugs.gentoo.org/" > exit 1 > fi > > if [ "$EXT_DIR" == "" ]; then > eerror "\$EXT_DIR must be set in the ebuild file" > eerror "Please report this fault via http://bugs.gentoo.org/" > exit 1 > fi > > einfo "This ebuild should be very stable at this point." > use xml || \ > ( ewarn "You have the xml USE flag turned off Previously this" > ewarn "disabled XML support in PHP. However PEAR has a hard" > ewarn "dependancy on it, so they are now enabled." ) > > unpack ${MY_P}.tar.bz2 > cd ${S} > > # Configure Patch for wired uname -a > mv configure configure.old > cat configure.old | sed "s/PHP_UNAME=\`uname -a\`/PHP_UNAME=\`uname -s -n -r -v\`/g" > configure > chmod 755 configure > > # fix PEAR installer > cp pear/PEAR/Registry.php pear/PEAR/Registry.old > sed "s:\$pear_install_dir\.:\'$D/usr/lib/php/\' . :g" pear/PEAR/Registry.old > pear/PEAR/Registry.php > > # stuart@gentoo.org - 2003/06/27 > # Java support cleaned up > > # pear's world writable files is a php issue fixed in their cvs tree. > # http://bugs.php.net/bug.php?id=20978 > # http://bugs.php.net/bug.php?id=20974 > #if [ -z "${EXCLUDE_PEAR_FIX}" ]; then > # EPATCH_SINGLE_MSG="Applying fix for PEAR world writable files" > # epatch ${FILESDIR}/pear_config.diff || die "epatch failed" > #fi > > #if [ -z "${EXCLUDE_DB4_FIX}" ]; then > # EPATCH_SINGLE_MSG="Applying DB4 patch" > # epatch ${DISTDIR}/php-${PV}-db4.diff.gz > # cd ${S} > # autoconf > #fi >} > > >php_src_compile() { > # Control the extra SAPI stuff that can be built in addition to any usual SAPI ># [ -z "${PHP_CGI}" ] && PHP_CGI=0 ># [ -z "${PHP_CLI}" ] && PHP_CLI=0 ># [ -z "${PHP_EMBED}" ] && PHP_EMBED=no ># [ "${PHP_CGI}" -eq "0" ] \ ># && myconf="${myconf} --disable-cgi" \ ># || myconf="${myconf} --enable-cgi --enable-fastcgi" ># [ "${PHP_CLI}" -eq "0" ] \ ># && myconf="${myconf} --disable-cli" \ ># || myconf="${myconf} --enable-cli" ># case "${PHP_EMBED}" in ># shared) myconf="${myconf} --enable-embed=shared" ;; ># static) myconf="${myconf} --enable-embed=static" ;; ># *) myconf="${myconf} --disable-embed" ;; ># esac; > > [ -x "/usr/sbin/sendmail" ] || die "You need a virtual/mta that provides /usr/sbin/sendmail!" > > use java && php_check_java_config > > # BerkDB is disabled due to DB4 and changes in PHP4.3.2 > myconf="${myconf} --without-db3 --without-db4 --without-db2" > if use berkdb; then > ewarn "BerkDB is disabled due to DB4 issues and changes in PHP 4.3.2 presently." > ewarn "If you need BerkDB support, please do NOT upgrade at this time" > # #Hack to use db4 > # if has_version =sys-libs/db-4* && grep -q -- '--with-db4' configure; then > # einfo "Enabling DB4" > # myconf="${myconf} --with-db4=/usr" > # else > # einfo "Enabling DB3" > # myconf="${myconf} --with-db3=/usr" > # fi > fi > > use cjk && myconf="${myconf} --enable-mbstring --enable-mbregex" > use crypt && myconf="${myconf} --with-mcrypt=/usr --with-mhash" > use firebird && myconf="${myconf} --with-interbase=/opt/interbase" > use flash && myconf="${myconf} --with-swf=/usr --with-ming=/usr" > use freetds && myconf="${myconf} --with-sybase=/usr" > use gdbm && myconf="${myconf} --with-gdbm=/usr" > use informix && [ -n "${INFORMIXDIR}" ] && myconf="${myconf} --with-informix=${INFORMIXDIR}" > use java && myconf="${myconf} --with-java=${JAVA_HOME}" > use jpeg && myconf="${myconf} --with-jpeg --with-jpeg-dir=/usr --enable-exif" || myconf="${myconf} --without-jpeg" > use jpeg && LDFLAGS="${LDFLAGS} -ljpeg" > use mcal && myconf="${myconf} --with-mcal=/usr" > use oci8 && [ -n "${ORACLE_HOME}" ] && myconf="${myconf} --with-oci8=${ORACLE_HOME}" > use odbc && myconf="${myconf} --with-unixODBC=/usr" > use pdflib && myconf="${myconf} --with-pdflib=/usr" > use memlimit && myconf="${myconf} --enable-memory-limit" > use png && myconf="${myconf} --with-png-dir=/usr" || myconf="${myconf} --without-png" > use postgres && myconf="${myconf} --with-pgsql=/usr" || myconf="${myconf} --without-pgsql" > use snmp && myconf="${myconf} --with-snmp --enable-ucd-snmp-hack" > use tiff && LDFLAGS="${LDFLAGS} -ltiff" > use tiff && myconf="${myconf} --with-tiff-dir=/usr" || myconf="${myconf} --without-tiff" > use truetype && myconf="${myconf} --with-ttf --with-t1lib" > > #use mysql && myconf="${myconf} --with-mysql=/usr" || myconf="${myconf} --without-mysql" > if [ -n "`use mysql`" ] ; then > if [ -n "`mysql_config | grep '4.1'`" ] ; then > myconf="${myconf} --with-mysqli=/usr" > else > myconf="${myconf} --with-mysql=/usr" > fi > else > myconf="${myconf} --without-mysql" > fi > > #use gd && myconf="${myconf} --with-gd" > #use nls && myconf="${myconf} --with-gettext" || myconf="${myconf} --without-gettext" > #use qt && myconf="${myconf} --with-qtdom" || myconf="${myconf} --without-qtdom" > #use spell && myconf="${myconf} --with-pspell" > #use ssl && myconf="${myconf} --with-openssl" > myconf="${myconf} `use_with gd` `use_with nls gettext` `use_with qt qtdom` `use_with spell pspell` `use_with ssl openssl`" > #use curl && myconf="${myconf} --with-curl" > #use imap && myconf="${myconf} --with-imap" > #use ldap && myconf="${myconf} --with-ldap" > #use pam && myconf="${myconf} --with-pam" > #use pic && myconf="${myconf} --with-pic" > myconf="${myconf} `use_with curl` `use_with imap` `use_with ldap` `use_with pam` `use_with pic`" > #use xml2 && myconf="${myconf} --with-dom --with-dom-xslt" > myconf="${myconf} `use_with xml2 dom` `use_with xml2 dom-xslt`" > > #Waiting for somebody to want Cyrus support :-) > #myconf="${myconf} `use_with cyrus`" > > # dbx AT LEAST one of mysql/odbc/postgres/oci8 > use mysql || use odbc || use postgres || use oci8 \ > && myconf="${myconf} --enable-dbx" \ > || myconf="${myconf} --disable-dbx" > > use imap && use ssl && \ > if [ -n "`strings ${ROOT}/usr/lib/c-client.a 2>/dev/null | grep ssl_onceonlyinit`" ]; then > myconf="${myconf} --with-imap-ssl" > else > ewarn "USE=\"imap ssl\" specified but IMAP is built WITHOUT ssl support." > ewarn "Skipping IMAP-SSL support." > fi > > if [ -n "`use X`" ] ; then > myconf="${myconf} --with-xpm-dir=/usr/X11R6" > LDFLAGS="${LDFLAGS} -L/usr/X11R6/lib" > fi > > # These were previously optional, but are now included directly as PEAR needs them. > # Zlib is needed for XML > myconf="${myconf} --with-zlib --with-zlib-dir=/usr/lib" > LIBS="${LIBS} -lxmlparse -lxmltok" > myconf="${myconf} --with-sablot=/usr" > myconf="${myconf} --enable-xslt" > myconf="${myconf} --with-xslt-sablot" > myconf="${myconf} --with-xmlrpc" > myconf="${myconf} --enable-wddx" > myconf="${myconf} --with-xml" > > # Somebody might want safe mode, but it causes some problems, so I disable it by default > #myconf="${myconf} --enable-safe-mode" > > # These are some things that we don't really need use flags for, we just > # throw them in for functionality. Somebody could turn them off if their > # heart so desired > # DEPEND sys-apps/bzip2 > myconf="${myconf} --with-bz2" > # DEPEND sys-libs/cracklib > myconf="${myconf} --with-crack" > # DEPEND sys-libs/db > myconf="${myconf} --with-ndbm --with-cdb" > > # No DEPENDancies > myconf="${myconf} --enable-bcmath" > myconf="${myconf} --enable-calendar" > myconf="${myconf} --enable-dbase" > myconf="${myconf} --enable-filepro" > myconf="${myconf} --enable-ftp" > myconf="${myconf} --with-mime-magic" > myconf="${myconf} --enable-sockets" > myconf="${myconf} --enable-sysvsem --enable-sysvshm --enable-sysvipc" > myconf="${myconf} --with-iconv" > myconf="${myconf} --enable-shmop" > # this might be less than 100% stable, it needs testing > myconf="${myconf} --enable-dio" > > # recode is NOT used as it conflicts with IMAP and YAZ > # iconv is better anyway > > # Now actual base PHP settings > myconf="${myconf} \ > --enable-inline-optimization \ > --enable-track-vars \ > --enable-trans-sid \ > --enable-versioning \ > --with-config-file-path=${INIFILE_DIR}" > > econf \ > ${myconf} || die "bad ./configure" > > emake || die "compile problem" > >} > >php_src_install() { > addwrite /usr/share/snmp/mibs/.index > dodir /usr/bin > dodir /usr/lib/php > dodir /usr/include/php > > # parallel make breaks it > # so no emake here > make INSTALL_ROOT=${D} ${PHP_INSTALLTARGETS} || die > > # put make here > > dodoc LICENSE EXTENSIONS CREDITS INSTALL > dodoc README.* TODO* NEWS > > #install scripts > exeinto /usr/bin > > # Deprecated > #doexe ${S}/pear/scripts/phpize > #doexe ${S}/pear/scripts/php-config > #doexe ${S}/pear/scripts/phpextdist > > # PHP module building stuff > mkdir -p ${D}/usr/lib/php/build > insinto /usr/lib/php/build > doins build/* acinclude.m4 configure.in Makefile.global scan_makefile_in.awk > # Deprecated : pear/pear.m4 > > > #revert Pear patch > rm ${D}/usr/lib/php/PEAR/Registry.php > #should this possibly result to the SAME original value it was ? (\$pear_install_dir) > cat ${S}/pear/PEAR/Registry.old | sed -e 's:${PORTAGE_TMPDIR}/${PF}::' > ${D}/usr/lib/php/PEAR/Registry.php > > # Support for Java extension > # > # 1. install php_java.jar file into ${EXT_DIR} > # 2. edit the php.ini file ready for installation > # > # - stuart@gentoo.org > > if [ "`use java`" ] ; then > > # we put these into /usr/lib so that they cannot conflict with > # other versions of PHP (e.g. PHP 4 & PHP 5) > > insinto ${EXT_DIR} > doins ext/java/php_java.jar > > cp ext/java/except.php java-test.php > doins java-test.php > > JAVA_LIBRARY="`grep -- '-DJAVALIB' Makefile | sed -e 's/.\+-DJAVALIB=\"\([^"]*\)\".*$/\1/g;'`" > cat php.ini-dist | sed -e "s|;java.library .*$|java.library = $JAVA_LIBRARY|g;" > php.ini-1 > cat php.ini-1 | sed -e "s|;java.class.path .*$|java.class.path = ${EXT_DIR}/php_java.jar|g;" > php.ini-2 > cat php.ini-2 | sed -e "s|extension_dir .*$|extension_dir = $EXT_DIR|g;" > php.ini-3 > cat php.ini-3 | sed -e "s|;extension=php_java.dll.*$|extension = java.so|g;" > php.ini-4 > cat php.ini-4 | sed -e "s|;java.library.path .*$|java.library.path = ${EXT_DIR}|g;" > php.ini-5 > > mv php.ini-5 php.ini > else > mv php.ini-dist php.ini > fi > > insinto ${INIFILE_DIR} > doins php.ini > > if [ "`use java`" ]; then > ( cd ${D}${EXT_DIR} ; ln -snf java.so libphp_java.so ) > fi >} >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 15650
:
8245
| 13936 |
13937
|
13938