diff options
Diffstat (limited to 'community/php81/APKBUILD')
-rw-r--r-- | community/php81/APKBUILD | 147 |
1 files changed, 83 insertions, 64 deletions
diff --git a/community/php81/APKBUILD b/community/php81/APKBUILD index f65fcfcc76f..5bd8c29387e 100644 --- a/community/php81/APKBUILD +++ b/community/php81/APKBUILD @@ -11,6 +11,7 @@ # fileinfo | BSD-2-Clause | ext/fileinfo/libmagic | used # gd | BSD | ext/gd/libgd | used # hash | CC0-1.0 | ext/hash/sha3 | used +# xxHash | BSD-2-Clause | ext/hash/xxhash | used # libmbfl | LGPL-2.1-only | ext/mbstring/libmbfl | used # pcre | BSD-3-Clause | ext/pcre/pcrelib | not used # sqlite3 | Public | ext/sqlite3/libsqlite | not used @@ -25,12 +26,15 @@ pkgname=php81 _pkgreal=php -pkgver=8.1.6 +pkgver=8.1.27 pkgrel=0 _apiver=20210902 _suffix=${pkgname#php} # Is this package the default (latest) PHP version? _default_php="no" +provides="$pkgname-cli php-cli php" # for backward compatibility +# priority of community/php82 is 100 +provider_priority=50 pkgdesc="The PHP$_suffix language runtime engine" url="https://www.php.net/" arch="all" @@ -46,11 +50,13 @@ _depends_phar="$pkgname" _depends_mysqli="$pkgname-mysqlnd $pkgname-openssl" makedepends=" $depends_dev + acl-dev apache2-dev argon2-dev aspell-dev bison bzip2-dev + clang curl-dev enchant2-dev freetds-dev @@ -77,33 +83,39 @@ makedepends=" libzip-dev net-snmp-dev openldap-dev + openssl-dev>3 + patchelf sqlite-dev tidyhtml-dev unixodbc-dev zlib-dev " checkdepends="icu-data-full" -provides="$pkgname-cli php-cli php" # for backward compatibility -# priority of community/php7 is 100 -provider_priority=1 -subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc +subpackages="$pkgname-dev $pkgname-doc $pkgname-phpdbg $pkgname-apache2 $pkgname-embed $pkgname-cgi $pkgname-fpm $pkgname-pear::noarch " -source="https://php.net/distributions/$_pkgreal-$pkgver.tar.xz +# sources for RC available at +# - https://downloads.php.net/~patrickallaert/php-${pkgver}RC1.tar.xz +# - https://downloads.php.net/~ramsey/php-${pkgver}RC1.tar.xz +source="$_pkgreal-$pkgver.tar.xz::https://php.net/distributions/$_pkgreal-$pkgver.tar.xz $pkgname-fpm.initd $pkgname-fpm.logrotate $pkgname-module.conf disabled-tests.list + disabled-tests.ppc64le.list + disabled-tests.riscv64.list + disabled-tests.s390x.list + disabled-tests.x86.list install-pear.patch includedir.patch sharedir.patch $pkgname-fpm-version-suffix.patch fix-tests-devserver.patch - xfail-openssl-1.1-test.patch - atomic-lsapi.patch - fix-curl-7.83-test.patch + fix-lfs64.patch + fix-s390x-test.patch + fix-icu74.patch " builddir="$srcdir/$_pkgreal-$pkgver" @@ -177,6 +189,21 @@ subpackages="$subpackages $pkgname-common::noarch" subpackages="$subpackages $pkgname-litespeed" # secfixes: +# 8.1.16-r0: +# - CVE-2023-0567 +# - CVE-2023-0568 +# - CVE-2023-0662 +# 8.1.14-r0: +# - CVE-2022-31631 +# 8.1.12-r0: +# - CVE-2022-31630 +# - CVE-2022-37454 +# 8.1.11-r0: +# - CVE-2022-31628 +# - CVE-2022-31629 +# 8.1.6-r2: +# - CVE-2022-31625 +# - CVE-2022-31626 # 8.1.0-r0: # - CVE-2021-21707 # 8.1.0_rc5-r0: @@ -206,9 +233,12 @@ prepare() { # Fix some bogus permissions. find . -name '*.[ch]' -exec chmod 644 {} \; - # XXX: Delete failing tests. - sed -n '/^[^#]/p' "$srcdir"/disabled-tests.list | while read -r item; do - rm -r $item # do it in this way to apply globbing... + # Remove failing tests includng arch specific ones. + local tests="disabled-tests.list disabled-tests.$CARCH.list" + local file; for file in $tests; do [ -f "$srcdir"/$file ] && \ + sed -n '/^[^#]/p' "$srcdir"/$file | while read -r item; do + rm -r $item # do it in this way to apply globbing... + done done autoconf @@ -220,12 +250,15 @@ prepare() { # * -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php andypost) # * -O2 optimize for apps usage (andypost) _build() { - export CFLAGS="${CFLAGS/-Os/-O2} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - export CXXFLAGS="${CXXFLAGS/-Os/-O2} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + local _extra='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' + export CFLAGS="${CFLAGS/-Os/-O2} $_extra" + export CXXFLAGS="${CXXFLAGS/-Os/-O2} $_extra" local without_pcre_jit [ "$CARCH" = "s390x" ] && without_pcre_jit="--without-pcre-jit" + export CC=clang + export CXX=clang++ EXTENSION_DIR=$_extension_dir ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -239,6 +272,7 @@ _build() { --with-pic \ --with-config-file-path=/etc/$pkgname \ --with-config-file-scan-dir=$_extension_confd \ + --disable-rpath \ --disable-short-tags \ \ --enable-bcmath=shared \ @@ -316,6 +350,7 @@ _build() { --with-xsl=shared \ --with-zip=shared \ --with-zlib \ + --enable-zend-test=shared \ "$@" rm -f modules/* # clean-up possible previous build make @@ -336,6 +371,7 @@ build() { _build --enable-phpdbg \ --with-pear=/usr/share/$pkgname \ --enable-fpm \ + --with-fpm-acl \ $enable_litespeed \ --enable-embed } @@ -355,13 +391,13 @@ check() { # Ignore it for now and continue build even on test failures. local allow_fail='no' case "$CARCH" in - x86 | s390x ) allow_fail='yes' + no ) allow_fail='yes' esac TESTS="${TESTS:- --show-diff }" NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \ SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \ SKIP_PERF_SENSITIVE=1 \ - TZ='' LANG='' LC_ALL='' \ + TZ='' LANG='' LC_ALL='' TEST_FPM_EXTENSION_DIR=modules \ TRAVIS=true SKIP_IO_CAPTURE_TESTS=1 \ make test || [ "$allow_fail" = yes ] @@ -370,6 +406,7 @@ check() { package() { make -j1 INSTALL_ROOT="$pkgdir" install + rm "$pkgdir"/usr/lib/php$_suffix/modules/zend_test.so install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini @@ -390,15 +427,11 @@ package() { dev() { default_dev replaces="php-dev" - depends="$depends" - - cd "$pkgdir" - _mv usr/bin/php-config$_suffix \ + amove \ + usr/bin/php-config$_suffix \ usr/bin/phpize$_suffix \ - "$subpkgdir"/usr/bin/ - - _mv ./$_libdir/build "$subpkgdir"/$_libdir/ + $_libdir/build if [ "$_default_php" = yes ]; then ln -s phpize$_suffix "$subpkgdir"/usr/bin/phpize @@ -444,15 +477,17 @@ embed() { pkgdesc="PHP$_suffix Embedded Library" provides="php-embed" - _mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/ + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libphp.so "$subpkgdir"/usr/lib/libphp$_suffix.so + # we do this so it matches the name, otherwise SONAME libphp.so conflicts + patchelf --set-soname libphp$_suffix.so "$subpkgdir"/usr/lib/libphp$_suffix.so } litespeed() { pkgdesc="PHP$_suffix LiteSpeed SAPI" provides="php-lightspeed" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/lsphp$_suffix "$subpkgdir"/usr/bin + amove usr/bin/lsphp$_suffix if [ "$_default_php" = yes ]; then ln -s lsphp$_suffix "$subpkgdir"/usr/bin/lsphp @@ -463,7 +498,7 @@ cgi() { pkgdesc="PHP$_suffix Common Gateway Interface" provides="php-cgi" - _mv "$pkgdir"/usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/ + amove usr/bin/php-cgi$_suffix if [ "$_default_php" = yes ]; then ln -s php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi @@ -474,12 +509,8 @@ fpm() { pkgdesc="PHP$_suffix FastCGI Process Manager" provides="php-fpm" - cd "$pkgdir" - - _mv var "$subpkgdir"/ - _mv usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname/ - _mv usr/sbin "$subpkgdir"/usr/ - _mv etc/$pkgname/php-fpm* "$subpkgdir"/etc/$pkgname/ + amove etc/$pkgname/php-fpm* usr/sbin var + amove usr/share/$pkgname/fpm local file; for file in php-fpm.conf php-fpm.d/www.conf; do mv "$subpkgdir"/etc/$pkgname/$file.default \ @@ -500,18 +531,15 @@ pear() { depends="$pkgname $pkgname-xml" provides="php-pear" - cd "$pkgdir" - mkdir -p "$subpkgdir"/usr/bin local file; for file in pecl pear peardev; do - mv usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix + mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix if [ "$_default_php" = yes ]; then ln -s $file$_suffix "$subpkgdir"/usr/bin/$file fi done - _mv etc/$pkgname/pear.conf "$subpkgdir"/etc/$pkgname/ - _mv usr/share "$subpkgdir"/usr/ + amove etc/$pkgname/pear.conf usr/share } common() { @@ -519,22 +547,17 @@ common() { provides="php-common $pkgname-zlib php-zlib $pkgname-json php-json" # for backward compatibility depends="" - cd "$pkgdir" - - _mv usr/lib "$subpkgdir"/usr/ - _mv etc "$subpkgdir"/ - mkdir -p "$subpkgdir"/$_extension_confd + amove etc + mkdir -p "$subpkgdir"/$_extension_confd "$subpkgdir"/$_extension_dir } phar() { _extension - cd "$pkgdir" - mkdir -p "$subpkgdir"/usr/bin - mv usr/bin/phar$_suffix.phar "$subpkgdir"/usr/bin/phar.phar$_suffix + mv "$pkgdir"/usr/bin/phar$_suffix.phar "$subpkgdir"/usr/bin/phar.phar$_suffix - rm usr/bin/phar$_suffix + rm "$pkgdir"/usr/bin/phar$_suffix ln -s phar.phar$_suffix "$subpkgdir"/usr/bin/phar$_suffix if [ "$_default_php" = yes ]; then @@ -544,13 +567,13 @@ phar() { } _extension() { - local extname="${subpkgname#$pkgname-}" + local extname="${subpkgname#"$pkgname"-}" local extdepends="$(eval "echo \$_depends_$extname")" local extdesc="$(head -n1 "$builddir"/ext/$extname/CREDITS 2>/dev/null ||:)" pkgdesc="PHP$_suffix extension: ${extdesc:-$extname}" provides="php-$extname" - : ${extdepends:=$(_resolve_extension_deps "$extname")} + : "${extdepends:=$(_resolve_extension_deps "$extname")}" depends="$depends $extdepends" local load_order=$(_extension_load_order "$extname") @@ -559,8 +582,7 @@ _extension() { local prefix= [ "$extname" != "opcache" ] || prefix="zend_" - _mv "$pkgdir"/$_extension_dir/$extname.so \ - "$subpkgdir"/$_extension_dir/ + amove $_extension_dir/$extname.so mkdir -p "$subpkgdir"/$_extension_confd echo "${prefix}extension=$extname" \ @@ -576,8 +598,7 @@ _resolve_extension_deps() { local config="$builddir/ext/$name/config.w32" [ -f "$config" ] || return 0 - cat "$config" \ - | sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" \ + sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" "$config" \ | tr -d "'," | tr ' ' '\n' \ | sort -u \ | while read -r dep; do @@ -612,24 +633,22 @@ _extensions_by_load_order() { printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//' } -_mv() { - local dest; for dest; do true; done # get last argument - mkdir -p "$dest" - mv "$@" -} - sha512sums=" -df5ab8e90aced1cc904c6abd25f42b0c59a327fe4f7b518591c23820e711952f3b1e70b31a1c2e90282621891400b492fb099cbadafcd0ef7991ccc2962156de php-8.1.6.tar.xz +07fb2b8e10e2487635e26bfd8a27949a26b85f76bc3984ad8599224bb7a7f9498d84299335ae5a0bba16599275e9747ab141f73f4f2076ddf49ebec8e76fd0ed php-8.1.27.tar.xz 7dc9f55b12998355a6a6b5cf277285058e66928215f8d0109448d06fb696a74c674f83d18a81bf03f4f0bee06e77979e9a4ee5c81c7fdebff91447f8e697cc69 php81-fpm.initd 98bb27864f1ece80fef18cb286885c8c18de8f9d1076507b6a24df07e33aa400623b90401375e7ebe55d9ff802069d281642ec7d3a58ef8727121aabe7643241 php81-fpm.logrotate 2e3b22b4adbc81c6120757095c89e56642f3e8bf7724af2926f2667759ef082cdcff416334aad87f704a61fcb5b2c11830f17759ac771a3dd4e47d9bc5c7cf72 php81-module.conf -47ae7600638a2a0691c2fde43382b3dc5c39e2f129ab8ec7dc1dcee11e8b7c6ae2a272aabe0b386461e7139092c09fcb74fdc4fcd1e51874bcdd03d2b2babd6d disabled-tests.list +2f45b612c0de677d631f3d3fa3450128015c15d6f2f25b653ffb7416c92aedfbbf62690fdc54c94f1ca697859b5dc6dfb69a738ef67726322a872f281ed93637 disabled-tests.list +65676dea36ff8823dd1e8d7165e48c2719133ca8cf5287d6051f35f70e4bc57f1c93fe9b0196c9307c072187deb08409731f1eef281387ae4367655472f882d3 disabled-tests.ppc64le.list +378db19d08cec29c4e56f2c82ee0a99b31e5ec3eaac56c40597de442da36a4d7efcc7551577e37a6ca22649d612d42714c93e16e3f7579aeb85a44090bde80fc disabled-tests.riscv64.list +54930246f22034e6a73020aa95915d14b2a2fcfe121df57eb17fdc663aceeb94c5c4b1800347149a8fb4eaa0edda4224a11133bdb7e0cd34a2065a2de121db0d disabled-tests.s390x.list +6d3bc15982e13ec4c065b6445e07818d589f2cc677147a57929d1739b3e6b119cc9be6a07d3a99bb5e989e47a62fa6047f967c3c962253845d4bab224b378db3 disabled-tests.x86.list ec206639d076ddac6c2d1db697a5428ed3be979157db39417af7fbe6ab837e8dc00315ae0e55aea4f92f45ca5827c88cc4933099fad9c962f029ca81bef779d7 install-pear.patch e88ad17895742b74019912ad45c90af74817d75d7e1f71bd3d4a180b5f710a25d3c73c7410394f415eee0f428a8c5a0ea3702009ef9d2bffdebdd5da748f8b9b includedir.patch 8db38c523a8e0ed64298661d328372ea33ba0a56d23c023299ad94ee43a6db8c49393efcb679e74bbb936383dcacebdfb440bbacdf74068d78d071dd3f795101 sharedir.patch f43ab399c3b4a2b9a3a329acd32d9cbc690cad697dd0a0e87f3d654028b88af7dd1cd80cbf970c6fe95a44d9b24646640bb4cc9eba15f36afc171504f1060066 php81-fpm-version-suffix.patch 1b64a7cef9e81387f955cb60ffa4e3d2277b4f6072e9328d779c0d447c202c8ee9dff0d8d8c34abc82c150311f51c4e9316a3b72a383ca6c9a6e683bc5b349a0 fix-tests-devserver.patch -d90e839cfae1cbb42c1dfb0fb73defa55154dbef69bc9a8206e561c2d0ceb43ca778e35dcfa3224570deabe7d59d35dac3f21d0c4bd82ac92cebd5477a30a89d xfail-openssl-1.1-test.patch -465b38c089d938a4a072b2eff3edaf928455bf873f5eeb65ff3bee9614f5f45c70f285abb50809c2e2d9d259395acae38bd649860ca3b8d65e43447082a51552 atomic-lsapi.patch -be6a57063414bd255def54d5f6e42cbdc3baec55c8eaf9c8ca6e96d0cb3fec942ebb1868806850859d34c5c45d03a2abfec3fecd1aef04524da8eda01d9041ed fix-curl-7.83-test.patch +73ad23e675c336b7607ff99fc3a3ffdb381779411c5503ef5a353ad43607070d889e441800abc54080d6be42032e94c3884d05d3bfbc46e5dda93b5e10fc40f7 fix-lfs64.patch +10c8da2e2ff24903c012b4df4f1fd7ed739429d0630260c398ed255cb45589ee170c29af09f5f57202a5fe37d4e82669196c813a5b916b7f2be2d46e9bfd1d85 fix-s390x-test.patch +16d283ac2373442f2fbbca4968df92e0114454c7645a797f1f04af27e546293f3312d45aef049357057facd4fb62339ebfe7f59e65d4278910c4195d873955d1 fix-icu74.patch " |