ont

PKGBUILD for php

ont
Apr 8th, 2012
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 10.68 KB | None | 0 0
  1. # $Id: PKGBUILD 149965 2012-02-11 23:31:20Z allan $
  2. # Maintainer: Pierre Schmitz <[email protected]>
  3.  
  4. pkgbase=php
  5. pkgname=('php'
  6.          'php-cgi'
  7.          'php-apache'
  8.          'php-fpm'
  9.          'php-embed'
  10.          'php-pear'
  11.          'php-enchant'
  12.          'php-gd'
  13.          'php-intl'
  14.          'php-ldap'
  15.          'php-mcrypt'
  16.          'php-mssql'
  17.          'php-odbc'
  18.          'php-pgsql'
  19.          'php-pspell'
  20.          'php-snmp'
  21.          'php-sqlite'
  22.          'php-tidy'
  23.          'php-xsl')
  24. pkgver=5.3.10
  25. _suhosinver=5.3.9-0.9.10
  26. pkgrel=4
  27. arch=('i686' 'x86_64')
  28. license=('PHP')
  29. url='http://www.php.net'
  30. makedepends=('apache' 'imap' 'postgresql-libs' 'libldap' 'postfix'
  31.              'sqlite3' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
  32.              'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'libpng' 'libjpeg' 'icu'
  33.              'curl' 'libxslt' 'openssl' 'bzip2' 'db' 'gmp' 'freetype2')
  34. source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.bz2"
  35.         "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz"
  36.         "http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz.sig"
  37.         'php.ini.patch' 'apache.conf' 'rc.d.php-fpm' 'php-fpm.conf.in.patch'
  38.         'logrotate.d.php-fpm' 'pcre_info.patch')
  39. md5sums=('816259e5ca7d0a7e943e56a3bb32b17f'
  40.          'c099b3d7eac95018ababd41ded7f3066'
  41.          'c15d18f846be1d69144a5d0056ee6506'
  42.          'ffc338e8ce2a990f6f2a486355bbab65'
  43.          'dec2cbaad64e3abf4f0ec70e1de4e8e9'
  44.          'b01be5f816988fcee7e78225836e5e27'
  45.          '740ec5fe2ecfd9d7febd4081c90ec65b'
  46.          '07c4e412909ac65a44ec90e7a2c4bade'
  47.          '8d3806bbb19e390f9b32ccf21611d937')
  48.  
  49. build() {
  50.     phpconfig="--srcdir=../${pkgbase}-${pkgver} \
  51.         --prefix=/usr \
  52.         --sysconfdir=/etc/php \
  53.         --localstatedir=/var \
  54.         --with-layout=GNU \
  55.         --with-config-file-path=/etc/php \
  56.         --with-config-file-scan-dir=/etc/php/conf.d \
  57.         --enable-inline-optimization \
  58.         --disable-debug \
  59.         --disable-rpath \
  60.         --disable-static \
  61.         --enable-shared \
  62.         --mandir=/usr/share/man \
  63.         --without-pear \
  64.         "
  65.  
  66.     phpextensions="--enable-bcmath=shared \
  67.         --enable-calendar=shared \
  68.         --enable-dba=shared \
  69.         --enable-exif=shared \
  70.         --enable-ftp=shared \
  71.         --enable-gd-native-ttf \
  72.         --enable-intl=shared \
  73.         --enable-json=shared \
  74.         --enable-mbregex \
  75.         --enable-mbstring \
  76.         --enable-pdo \
  77.         --enable-phar=shared \
  78.         --enable-posix=shared \
  79.         --enable-session \
  80.         --enable-shmop=shared \
  81.         --enable-soap=shared \
  82.         --enable-sockets=shared \
  83.         --enable-sqlite-utf8 \
  84.         --enable-sysvmsg=shared \
  85.         --enable-sysvsem=shared \
  86.         --enable-sysvshm=shared \
  87.         --enable-xml \
  88.         --enable-zip=shared \
  89.         --with-bz2=shared \
  90.         --with-curl=shared \
  91.         --with-db4=/usr \
  92.         --with-enchant=shared,/usr \
  93.         --with-freetype-dir=shared,/usr \
  94.         --with-gd=shared \
  95.         --with-gdbm=shared \
  96.         --with-gettext=shared \
  97.         --with-gmp=shared \
  98.         --with-iconv=shared \
  99.         --with-icu-dir=/usr \
  100.         --with-imap-ssl=shared \
  101.         --with-imap=shared \
  102.         --with-jpeg-dir=shared,/usr \
  103.         --with-ldap=shared \
  104.         --with-ldap-sasl \
  105.         --with-mcrypt=shared \
  106.         --with-mhash \
  107.         --with-mssql=shared \
  108.         --with-mysql-sock=/var/run/mysqld/mysqld.sock \
  109.         --with-mysql=shared,mysqlnd \
  110.         --with-mysqli=shared,mysqlnd \
  111.         --with-openssl=shared \
  112.         --with-pcre-regex=/usr \
  113.         --with-pdo-mysql=shared,mysqlnd \
  114.         --with-pdo-odbc=shared,unixODBC,/usr \
  115.         --with-pdo-pgsql=shared \
  116.         --with-pdo-sqlite=shared,/usr \
  117.         --with-pgsql=shared \
  118.         --with-png-dir=shared,/usr \
  119.         --with-pspell=shared \
  120.         --with-regex=php \
  121.         --with-snmp=shared \
  122.         --with-sqlite3=shared,/usr \
  123.         --with-sqlite=shared \
  124.         --with-tidy=shared \
  125.         --with-unixODBC=shared,/usr \
  126.         --with-xmlrpc=shared \
  127.         --with-xsl=shared \
  128.         --with-zlib \
  129.         --without-db2 \
  130.         --without-db3 \
  131.         "
  132.  
  133.     EXTENSION_DIR=/usr/lib/php/modules
  134.     export EXTENSION_DIR
  135.     PEAR_INSTALLDIR=/usr/share/pear
  136.     export PEAR_INSTALLDIR
  137.  
  138.     cd ${srcdir}/${pkgbase}-${pkgver}
  139.  
  140.     patch -p1 -i ${srcdir}/pcre_info.patch
  141.  
  142.     # apply suhosin patch
  143.     patch -p1 -i ${srcdir}/suhosin-patch-${_suhosinver}.patch
  144.  
  145.     # adjust paths
  146.     patch -p0 -i ${srcdir}/php.ini.patch
  147.     patch -p0 -i ${srcdir}/php-fpm.conf.in.patch
  148.  
  149.     # php
  150.     mkdir ${srcdir}/build-php
  151.     cd ${srcdir}/build-php
  152.     ln -s ../${pkgbase}-${pkgver}/configure
  153.     ./configure ${phpconfig} \
  154.         --disable-cgi \
  155.         --with-readline \
  156.         --enable-pcntl \
  157.         ${phpextensions}
  158.     make
  159.  
  160.     # cgi and fcgi
  161.     # reuse the previous run; this will save us a lot of time
  162.     cp -a ${srcdir}/build-php ${srcdir}/build-cgi
  163.     cd ${srcdir}/build-cgi
  164.     ./configure ${phpconfig} \
  165.         --disable-cli \
  166.         --enable-cgi \
  167.         ${phpextensions}
  168.     make
  169.  
  170.     # apache
  171.     cp -a ${srcdir}/build-php ${srcdir}/build-apache
  172.     cd ${srcdir}/build-apache
  173.     ./configure ${phpconfig} \
  174.         --disable-cli \
  175.         --with-apxs2 \
  176.         ${phpextensions}
  177.     make
  178.  
  179.     # fpm
  180.     cp -a ${srcdir}/build-php ${srcdir}/build-fpm
  181.     cd ${srcdir}/build-fpm
  182.     ./configure ${phpconfig} \
  183.         --disable-cli \
  184.         --enable-fpm \
  185.         --with-fpm-user=http \
  186.         --with-fpm-group=http \
  187.         ${phpextensions}
  188.     make
  189.  
  190.     # embed
  191.     cp -a ${srcdir}/build-php ${srcdir}/build-embed
  192.     cd ${srcdir}/build-embed
  193.     ./configure ${phpconfig} \
  194.         --disable-cli \
  195.         --enable-embed=shared \
  196.         ${phpextensions}
  197.     make
  198.  
  199.     # pear
  200.     cp -a ${srcdir}/build-php ${srcdir}/build-pear
  201.     cd ${srcdir}/build-pear
  202.     ./configure ${phpconfig} \
  203.         --disable-cgi \
  204.         --with-readline \
  205.         --enable-pcntl \
  206.         --with-pear \
  207.         ${phpextensions}
  208.     make
  209. }
  210.  
  211. # check() {
  212. #   cd ${srcdir}/build-php
  213. #   make test
  214. # }
  215.  
  216. package_php() {
  217.     pkgdesc='An HTML-embedded scripting language'
  218.     depends=('pcre' 'libxml2' 'bzip2' 'curl')
  219.     replaces=('php-fileinfo' 'php-gmp' 'php-curl')
  220.     provides=('php-fileinfo' 'php-gmp' 'php-curl')
  221.     conflicts=('php-fileinfo' 'php-gmp' 'php-curl')
  222.     backup=('etc/php/php.ini')
  223.  
  224.     cd ${srcdir}/build-php
  225.     make -j1 INSTALL_ROOT=${pkgdir} install
  226.     install -d -m755 ${pkgdir}/usr/share/pear
  227.     # install php.ini
  228.     install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini
  229.     install -d -m755 ${pkgdir}/etc/php/conf.d/
  230.  
  231.     # remove static modules
  232.     rm -f ${pkgdir}/usr/lib/php/modules/*.a
  233.     # remove modules provided by sub packages
  234.     rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
  235.     # remove empty directory
  236.     rmdir ${pkgdir}/usr/include/php/include
  237. }
  238.  
  239. package_php-cgi() {
  240.     pkgdesc='CGI and FCGI SAPI for PHP'
  241.     depends=('php')
  242.  
  243.     install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi
  244. }
  245.  
  246. package_php-apache() {
  247.     pkgdesc='Apache SAPI for PHP'
  248.     depends=('php' 'apache')
  249.     backup=('etc/httpd/conf/extra/php5_module.conf')
  250.  
  251.     install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
  252.     install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
  253. }
  254.  
  255. package_php-fpm() {
  256.     pkgdesc='FastCGI Process Manager for PHP'
  257.     depends=('php')
  258.     backup=('etc/php/php-fpm.conf')
  259.  
  260.     install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/sbin/php-fpm
  261.     install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/php-fpm.8
  262.     install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/php/php-fpm.conf
  263.     install -D -m755 ${srcdir}/rc.d.php-fpm ${pkgdir}/etc/rc.d/php-fpm
  264.     install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/php-fpm
  265.     install -d -m755 ${pkgdir}/etc/php/fpm.d
  266. }
  267.  
  268. package_php-embed() {
  269.     pkgdesc='Embed SAPI for PHP'
  270.     depends=('php')
  271.  
  272.     install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp5.so
  273.     install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/php/sapi/embed/php_embed.h
  274. }
  275.  
  276. package_php-pear() {
  277.     pkgdesc='PHP Extension and Application Repository'
  278.     depends=('php')
  279.     backup=('etc/php/pear.conf')
  280.  
  281.     cd ${srcdir}/build-pear
  282.     make -j1 install-pear INSTALL_ROOT=${pkgdir}
  283.     local i
  284.     while read i; do
  285.         [ ! -e "$i" ] || rm -rf "$i"
  286.     done < <(find ${pkgdir} -name '.*')
  287. }
  288.  
  289. package_php-enchant() {
  290.     depends=('php' 'enchant')
  291.     pkgdesc='enchant module for PHP'
  292.     install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
  293. }
  294.  
  295. package_php-gd() {
  296.     depends=('php' 'libpng' 'libjpeg' 'freetype2')
  297.     pkgdesc='gd module for PHP'
  298.     install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
  299. }
  300.  
  301. package_php-intl() {
  302.     depends=('php' 'icu')
  303.     pkgdesc='intl module for PHP'
  304.     install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
  305. }
  306.  
  307. package_php-ldap() {
  308.     depends=('php' 'libldap')
  309.     pkgdesc='ldap module for PHP'
  310.     install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so
  311. }
  312.  
  313. package_php-mcrypt() {
  314.     depends=('php' 'libmcrypt' 'libltdl')
  315.     pkgdesc='mcrypt module for PHP'
  316.     install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so
  317. }
  318.  
  319. package_php-mssql() {
  320.     depends=('php' 'freetds')
  321.     pkgdesc='mssql module for PHP'
  322.     install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/php/modules/mssql.so
  323. }
  324.  
  325. package_php-odbc() {
  326.     depends=('php' 'unixodbc')
  327.     pkgdesc='ODBC modules for PHP'
  328.     install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
  329.     install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
  330. }
  331.  
  332. package_php-pgsql() {
  333.     depends=('php' 'postgresql-libs')
  334.     pkgdesc='PostgreSQL modules for PHP'
  335.     install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
  336.     install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
  337. }
  338.  
  339. package_php-pspell() {
  340.     depends=('php' 'aspell')
  341.     pkgdesc='pspell module for PHP'
  342.     install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
  343. }
  344.  
  345. package_php-snmp() {
  346.     depends=('php' 'net-snmp')
  347.     pkgdesc='snmp module for PHP'
  348.     install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
  349. }
  350.  
  351. package_php-sqlite() {
  352.     depends=('php' 'sqlite3')
  353.     pkgdesc='sqlite3 module for PHP'
  354.     install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
  355.     install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
  356. }
  357.  
  358. package_php-tidy() {
  359.     depends=('php' 'tidyhtml')
  360.     pkgdesc='tidy module for PHP'
  361.     install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
  362. }
  363.  
  364. package_php-xsl() {
  365.     depends=('php' 'libxslt')
  366.     pkgdesc='xsl module for PHP'
  367.     install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
  368. }
Advertisement
Add Comment
Please, Sign In to add comment