diff options
author | Eugene Lamskoy | 2021-12-09 14:24:02 +0200 |
---|---|---|
committer | Eugene Lamskoy | 2021-12-09 14:24:02 +0200 |
commit | d592cbb0852cd36c2c18d44fd81afb446418af4e (patch) | |
tree | 9ccd99c9b91a35afb81c2de9fd8b711beca0dc50 | |
parent | 069fc87d1a82dfd218092d4cebc569e1b3a0641d (diff) | |
download | aur-d592cbb0852cd36c2c18d44fd81afb446418af4e.tar.gz |
Optimized pkgbuild
-rw-r--r-- | .SRCINFO | 5 | ||||
-rw-r--r-- | PKGBUILD | 187 |
2 files changed, 101 insertions, 91 deletions
@@ -1,7 +1,7 @@ pkgbase = php72 pkgdesc = php 7.2.34 compiled as to not conflict with mainline php pkgver = 7.2.34 - pkgrel = 5 + pkgrel = 6 url = http://www.php.net arch = i686 arch = x86_64 @@ -30,8 +30,8 @@ pkgbase = php72 makedepends = pcre makedepends = libsodium makedepends = patchutils + makedepends = oniguruma source = https://php.net/distributions/php-7.2.34.tar.xz - source = intl.patch source = icu.patch source = apache.patch source = apache.conf @@ -41,7 +41,6 @@ pkgbase = php72 source = enchant.patch source = php-freetype-2.9.1.patch sha256sums = 409e11bc6a2c18707dfc44bc61c820ddfd81e17481470f3405ee7822d8379903 - sha256sums = aa118bc3f15d33fc3e4c87de8fcd82ae1a7e66cb8469dfdb74bec1025acf56af sha256sums = e438f7a429915d9fe5affce2a32315b670fa0f2b2638ca51e7072374d367ca07 sha256sums = a67ed00467fb886e73808a3246e7a6f6bfb60fa3c24a692e21a4dd474b8353fd sha256sums = ebc0af1ef3a6baccb013d0ccb29923895a7b22ff2d032e3bba802dc6328301ce @@ -1,7 +1,7 @@ # Build props phpbase=72 pkgver=7.2.34 -pkgrel=5 +pkgrel=6 # Custom suffix suffix= @@ -11,33 +11,35 @@ arch=('i686' 'x86_64') license=('PHP') url='http://www.php.net' makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libmcrypt' 'libxslt' 'libzip' 'net-snmp' - 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'freetds' 'pcre' 'libsodium' 'patchutils') + 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'freetds' 'pcre' 'libsodium' + 'patchutils' 'oniguruma') checkdepends=('procps-ng') -# Calculated props +# Has "php" string _base="php" -program_suffix="${phpbase}${suffix}" + +# Calculated props pkgdesc="${_base} ${pkgver} compiled as to not conflict with mainline ${_base}" -pkgbase="${_base}${program_suffix}" +pkgbase="${_base}${phpbase}${suffix}" pkgname=("${pkgbase}" "${_base}${phpbase}-"{cgi,apache,fpm,embed,phpdbg,dblib,enchant,gd,imap,intl,odbc,pgsql,pspell,snmp,sqlite,tidy,xsl,sodium}${suffix}) -# Has "php" string # Source -source=("https://php.net/distributions/${_base}-${pkgver}.tar.xz" 'intl.patch' 'icu.patch' +source=("https://php.net/distributions/${_base}-${pkgver}.tar.xz" 'icu.patch' 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'enchant.patch' 'php-freetype-2.9.1.patch' ) - + # Version specific" name_libapache_source="libphp7.so" name_libembed_source="libphp7.so" -# Dirs -dir_config="etc/${pkgbase}" -dir_lib="usr/lib/${pkgbase}" +# Path +path_prefix="usr" +path_config="etc/${pkgbase}" +path_extensions="${path_prefix}/lib/${pkgbase}/modules" # Binary names -name_phpconfig="php-config${program_suffix}" -name_phpize="phpize${program_suffix}" -name_phar="phar${program_suffix}" +name_phpconfig="php-config${phpbase}${suffix}" +name_phpize="phpize${phpbase}${suffix}" +name_phar="phar${phpbase}${suffix}" # Conf names name_apache_module_conf="${pkgbase/-/_}_module.conf" @@ -50,26 +52,32 @@ prepare() { patch -p0 -i ${srcdir}/php.ini.patch patch -p1 -i ${srcdir}/enchant.patch patch -p1 -i ${srcdir}/php-freetype-2.9.1.patch - patch -p1 -i ${srcdir}/intl.patch patch -p1 -i ${srcdir}/icu.patch rm tests/output/stream_isatty_*.phpt } build() { + CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' + CPPFLAGS+=' -DU_DEFINE_FALSE_AND_TRUE=1' + CPPFLAGS+=' -DEL_BUILD=1' + export EXTENSION_DIR="/${path_extensions}" + local _phpconfig="--srcdir=../${_base}-${pkgver} \ --config-cache \ - --prefix=/usr \ - --sbindir=/usr/bin \ - --sysconfdir=/${dir_config} \ + --cache-file=config-${pkgbase}-${pkgver}-${pkgrel}.cache + --prefix=/${path_prefix} \ + --sbindir=/${path_prefix}/bin \ + --sysconfdir=/${path_config} \ --localstatedir=/var \ - --libdir=/${dir_lib} \ - --datarootdir=/usr/share/${pkgbase} \ - --datadir=/usr/share/${pkgbase} \ - --program-suffix=${program_suffix} \ + --libdir=/${path_prefix}/lib/${pkgbase} \ + --datarootdir=/${path_prefix}/share/${pkgbase} \ + --datadir=/${path_prefix}/share/${pkgbase} \ + --program-suffix=${phpbase}${suffix} \ --with-layout=GNU \ - --with-config-file-path=/${dir_config} \ - --with-config-file-scan-dir=/${dir_config}/conf.d \ + --with-config-file-path=/${path_config} \ + --with-config-file-scan-dir=/${path_config}/conf.d \ --disable-rpath \ + --mandir=/${path_prefix}/share/man \ --without-pear \ " @@ -79,7 +87,6 @@ build() { --enable-dba=shared \ --enable-exif=shared \ --enable-ftp=shared \ - --enable-gd-native-ttf \ --enable-intl=shared \ --enable-mbstring \ --enable-shmop=shared \ @@ -91,17 +98,17 @@ build() { --enable-zip=shared \ --with-bz2=shared \ --with-curl=shared \ - --with-db4=/usr \ - --with-enchant=shared,/usr \ - --with-freetype-dir=/usr \ - --with-gd=shared,/usr \ + --with-db4=/${path_prefix} \ + --with-enchant=shared,/${path_prefix} \ + --with-freetype-dir=/${path_prefix} \ + --with-gd=shared,/${path_prefix} \ --with-gdbm \ --with-gettext=shared \ --with-gmp=shared \ --with-iconv=shared \ --with-imap-ssl \ --with-imap=shared \ - --with-kerberos=/usr \ + --with-kerberos=/${path_prefix} \ --with-ldap=shared \ --with-ldap-sasl \ --with-libzip \ @@ -109,31 +116,35 @@ build() { --with-mysql-sock=/run/mysqld/mysqld.sock \ --with-mysqli=shared,mysqlnd \ --with-openssl \ - --with-pcre-regex=/usr \ - --with-pdo-dblib=shared,/usr \ + --with-pcre-regex=/${path_prefix} \ + --with-pdo-dblib=shared,/${path_prefix} \ --with-pdo-mysql=shared,mysqlnd \ - --with-pdo-odbc=shared,unixODBC,/usr \ + --with-pdo-odbc=shared,unixODBC,/${path_prefix} \ --with-pdo-pgsql=shared \ - --with-pdo-sqlite=shared,/usr \ + --with-pdo-sqlite=shared,/${path_prefix} \ --with-pgsql=shared \ --with-pspell=shared \ --with-readline \ --with-snmp=shared \ --with-sodium=shared \ - --with-sqlite3=shared,/usr \ + --with-sqlite3=shared,/${path_prefix} \ --with-tidy=shared \ - --with-unixODBC=shared,/usr \ + --with-unixODBC=shared,/${path_prefix} \ --with-xmlrpc=shared \ --with-xsl=shared \ --with-zlib \ --enable-pcntl \ " - EXTENSION_DIR="/${dir_lib}/modules" - export EXTENSION_DIR - - mkdir ${srcdir}/build - cd ${srcdir}/build + # php + if [ ! -d "${srcdir}/build" ]; then + mkdir "${srcdir}/build" + fi + cd "${srcdir}/build" + if [ -L configure ]; then + rm configure + fi + ln -s ../${_base}-${pkgver}/configure ./configure ${_phpconfig} \ --enable-cgi \ @@ -148,16 +159,16 @@ build() { # apache # reuse the previous run; this will save us a lot of time - cp -a ${srcdir}/build ${srcdir}/build-apache - cd ${srcdir}/build-apache + cp -a "${srcdir}/build" "${srcdir}/build-apache" + cd "${srcdir}/build-apache" ./configure ${_phpconfig} \ --with-apxs2 \ ${_phpextensions} make # phpdbg - cp -a ${srcdir}/build ${srcdir}/build-phpdbg - cd ${srcdir}/build-phpdbg + cp -a "${srcdir}/build" "${srcdir}/build-phpdbg" + cd "${srcdir}/build-phpdbg" ./configure ${_phpconfig} \ --enable-phpdbg \ ${_phpextensions} @@ -181,42 +192,43 @@ check() { package_php72() { pkgdesc='A general-purpose scripting language that is especially suited to web development' depends=('libxml2' 'curl' 'libzip' 'pcre') - backup=("${dir_config}/php.ini") + backup=("${path_config}/php.ini") #provides=("${pkgbase}=${pkgver}") cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd} - install -D -m644 ${srcdir}/${_base}-${pkgver}/php.ini-production ${pkgdir}/${dir_config}/php.ini - install -d -m755 ${pkgdir}/${dir_config}/conf.d/ + + install -D -m644 ${srcdir}/${_base}-${pkgver}/php.ini-production ${pkgdir}/${path_config}/php.ini + install -d -m755 ${pkgdir}/${path_config}/conf.d/ # remove static modules - rm -f ${pkgdir}/${dir_lib}/modules/*.a + rm -f ${pkgdir}/${path_extensions}/*.a # remove modules provided by sub packages - rm -f ${pkgdir}/${dir_lib}/modules/{enchant,gd,imap,intl,sodium,mcrypt,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so + rm -f ${pkgdir}/${path_extensions}/{enchant,gd,imap,intl,sodium,mcrypt,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so # remove empty directory - rmdir ${pkgdir}/usr/include/php/include - + rmdir ${pkgdir}/${path_prefix}/include/php/include + # move include directory - mv ${pkgdir}/usr/include/php ${pkgdir}/usr/include/${pkgbase} + mv ${pkgdir}/${path_prefix}/include/php ${pkgdir}/${path_prefix}/include/${pkgbase} # fix phar symlink - rm ${pkgdir}/usr/bin/phar - ln -sf ${name_phar}.phar ${pkgdir}/usr/bin/${name_phar} + rm ${pkgdir}/${path_prefix}/bin/phar + ln -sf ${name_phar}.phar ${pkgdir}/${path_prefix}/bin/${name_phar} # rename executables - mv ${pkgdir}/usr/bin/phar.phar ${pkgdir}/usr/bin/${name_phar}.phar + mv ${pkgdir}/${path_prefix}/bin/phar.phar ${pkgdir}/${path_prefix}/bin/${name_phar}.phar # rename man pages - mv ${pkgdir}/usr/share/man/man1/{phar,${name_phar}}.1 - mv ${pkgdir}/usr/share/man/man1/phar.{phar,${name_phar}}.1 + mv ${pkgdir}/${path_prefix}/share/man/man1/{phar,${name_phar}}.1 + mv ${pkgdir}/${path_prefix}/share/man/man1/phar.{phar,${name_phar}}.1 # fix paths in executables - sed -i "/^includedir=/c \includedir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/${name_phpize} - sed -i "/^include_dir=/c \include_dir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/${name_phpconfig} + sed -i "/^includedir=/c \includedir=/${path_prefix}/include/${pkgbase}" ${pkgdir}/${path_prefix}/bin/${name_phpize} + sed -i "/^include_dir=/c \include_dir=/${path_prefix}/include/${pkgbase}" ${pkgdir}/${path_prefix}/bin/${name_phpconfig} # make phpize use php-config${phpbase} - sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [${name_phpconfig}]], ${name_phpconfig}, no)" ${pkgdir}/${dir_lib}/build/phpize.m4 + sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [${name_phpconfig}]], ${name_phpconfig}, no)" ${pkgdir}/${path_prefix}/lib/${pkgbase}/build/phpize.m4 } package_php72-cgi() { @@ -233,26 +245,26 @@ package_php72-apache() { depends=("${pkgbase}" 'apache') backup=("etc/httpd/conf/extra/${name_apache_module_conf}") #provides=("${pkgbase}-apache=${pkgver}") - echo "# End of LoadModule in httpd.conf - see ArchWiki Apache HTTP Server" - echo "LoadModule php7_module modules/lib${pkgbase}.so" - echo "AddHandler php7-script .php" - echo "# End of Include List" - echo "Include conf/extra/${name_apache_module_conf}" - install -D -m755 ${srcdir}/build-apache/libs/${name_libapache_source} ${pkgdir}/usr/lib/httpd/modules/lib${pkgbase}.so + echo "# End of LoadModule in httpd.conf - see ArchWiki Apache HTTP Server" + echo "LoadModule php_module7 modules/lib${pkgbase}.so" + echo "AddHandler php7-script .php" + echo "# End of Include List" + echo "Include conf/extra/${name_apache_module_conf}" + install -D -m755 ${srcdir}/build-apache/libs/${name_libapache_source} ${pkgdir}/${path_prefix}/lib/httpd/modules/lib${pkgbase}.so install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/${name_apache_module_conf} } package_php72-fpm() { pkgdesc='FastCGI Process Manager for PHP' depends=("${pkgbase}" 'systemd') - backup=("${dir_config}/php-fpm.conf" "${dir_config}/php-fpm.d/www.conf") + backup=("etc/${pkgbase}/php-fpm.conf" "etc/${pkgbase}/php-fpm.d/www.conf") options=('!emptydirs') #provides=("${pkgbase}-fpm=${pkgver}") cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} install-fpm - install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/${pkgbase}-fpm.service - install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}-fpm.conf + install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/${path_prefix}/lib/systemd/system/${pkgbase}-fpm.service + install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/${path_prefix}/lib/tmpfiles.d/${pkgbase}-fpm.conf } package_php72-embed() { @@ -263,7 +275,7 @@ package_php72-embed() { cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi - mv ${pkgdir}/usr/lib/${name_libembed_source} ${pkgdir}/usr/lib/libphp${program_suffix}.so + mv ${pkgdir}/${path_prefix}/lib/${name_libembed_source} ${pkgdir}/${path_prefix}/lib/libphp${phpbase}${suffix}.so } package_php72-phpdbg() { @@ -281,7 +293,7 @@ package_php72-dblib() { depends=("${pkgbase}" 'freetds') #provides=("${pkgbase}-dblib=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/${dir_lib}/modules/pdo_dblib.so + install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/${path_extensions}/pdo_dblib.so } package_php72-enchant() { @@ -289,7 +301,7 @@ package_php72-enchant() { depends=("${pkgbase}" 'enchant') #provides=("${pkgbase}-enchant=${pkgver}") - install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/${dir_lib}/modules/enchant.so + install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/${path_extensions}/enchant.so } package_php72-gd() { @@ -297,7 +309,7 @@ package_php72-gd() { depends=("${pkgbase}" 'gd') #provides=("${pkgbase}-gd=${pkgver}") - install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/${dir_lib}/modules/gd.so + install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/${path_extensions}/gd.so } package_php72-imap() { @@ -305,7 +317,7 @@ package_php72-imap() { depends=("${pkgbase}" 'c-client') #provides=("${pkgbase}-imap=${pkgver}") - install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/${dir_lib}/modules/imap.so + install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/${path_extensions}/imap.so } package_php72-intl() { @@ -313,7 +325,7 @@ package_php72-intl() { depends=("${pkgbase}" 'icu') #provides=("${pkgbase}-intl=${pkgver}") - install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/${dir_lib}/modules/intl.so + install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/${path_extensions}/intl.so } package_php72-odbc() { @@ -321,8 +333,8 @@ package_php72-odbc() { depends=("${pkgbase}" 'unixodbc') #provides=("${pkgbase}-odbc=${pkgver}") - install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/${dir_lib}/modules/odbc.so - install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/${dir_lib}/modules/pdo_odbc.so + install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/${path_extensions}/odbc.so + install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/${path_extensions}/pdo_odbc.so } package_php72-pgsql() { @@ -330,8 +342,8 @@ package_php72-pgsql() { depends=("${pkgbase}" 'postgresql-libs') #provides=("${pkgbase}-pgsql=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/${dir_lib}/modules/pgsql.so - install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/${dir_lib}/modules/pdo_pgsql.so + install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/${path_extensions}/pgsql.so + install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/${path_extensions}/pdo_pgsql.so } package_php72-pspell() { @@ -339,7 +351,7 @@ package_php72-pspell() { depends=("${pkgbase}" 'aspell') #provides=("${pkgbase}-pspell=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/${dir_lib}/modules/pspell.so + install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/${path_extensions}/pspell.so } package_php72-snmp() { @@ -347,40 +359,39 @@ package_php72-snmp() { depends=("${pkgbase}" 'net-snmp') #provides=("${pkgbase}-snmp=${pkgver}") - install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/${dir_lib}/modules/snmp.so + install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/${path_extensions}/snmp.so } package_php72-sqlite() { pkgdesc='sqlite module for PHP' depends=("${pkgbase}" 'sqlite') #provides=("${pkgbase}-sqlite=${pkgver}") - install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/${dir_lib}/modules/sqlite3.so - install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/${dir_lib}/modules/pdo_sqlite.so + install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/${path_extensions}/sqlite3.so + install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/${path_extensions}/pdo_sqlite.so } package_php72-tidy() { pkgdesc='tidy module for PHP' depends=("${pkgbase}" 'tidy') #provides=("${pkgbase}-tidy=${pkgver}") - install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/${dir_lib}/modules/tidy.so + install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/${path_extensions}/tidy.so } package_php72-xsl() { pkgdesc='xsl module for PHP' depends=("${pkgbase}" 'libxslt') #provides=("${pkgbase}-xsl=${pkgver}") - install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/${dir_lib}/modules/xsl.so + install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/${path_extensions}/xsl.so } package_php72-sodium() { pkgdesc='sodium module for PHP' depends=("${pkgbase}" 'libsodium') #provides=("${pkgbase}-sodium=${pkgver}") - install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/${dir_lib}/modules/sodium.so + install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/${path_extensions}/sodium.so } sha256sums=('409e11bc6a2c18707dfc44bc61c820ddfd81e17481470f3405ee7822d8379903' - 'aa118bc3f15d33fc3e4c87de8fcd82ae1a7e66cb8469dfdb74bec1025acf56af' 'e438f7a429915d9fe5affce2a32315b670fa0f2b2638ca51e7072374d367ca07' 'a67ed00467fb886e73808a3246e7a6f6bfb60fa3c24a692e21a4dd474b8353fd' 'ebc0af1ef3a6baccb013d0ccb29923895a7b22ff2d032e3bba802dc6328301ce' |